C++namespace 와 관련 된 두 컴 파일 오류 설명

어떤 때,대형 공정 코드 에서 나 는 이렇게 호출 했다.

#include <iostream>
using namespace std;
namespace A
{
void fun()
{
 printf("aaa
"); } } namespace B { void fun() { printf("bbb
"); } } int main() { fun(); return 0; }
컴 파일 오류:error: ‘fun' was not declared in this scope알 아 보 니 이름 공간 이 장난 을 치고 있 었 습 니 다.그리고 이름 공간의 함 수 는 왜 들 어가 지 않 습 니까?그때 코드 를 쓴 사람 이 왜 그 랬 는 지 생각해 봤 어 요.
내 가 만난 또 다른 실 수 를 다시 보 자.

#include <iostream>
using namespace std;
namespace A
{
 void fun()
 {
 printf("aaa
"); } } namespace B { void fun() { printf("bbb
"); } } using namespace A; using namespace B; int main() { fun(); return 0; }
결과:call of overloaded ‘fun()' is ambiguous 실 수 는 뻔 하 다.실제로 도 이런 실 수 를 자주 하 는 것 은 사실이다.
총결산
이상 은 이 글 의 모든 내용 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가 치 를 가지 기 를 바 랍 니 다.여러분 의 저희 에 대한 지지 에 감 사 드 립 니 다.더 많은 내용 을 알 고 싶다 면 아래 링크 를 보 세 요.

좋은 웹페이지 즐겨찾기