작성
·
272
0
MySpace1안의 InnerSpace라는 하위 네임스페이스에서
MySpace1의 함수인 doSomething(int a, int b)을 호출해보았습니다.
InnerSpace에서 MySpace1의 함수에 접근할 수 있는 이유가 뭔가요?
main에서 함수를 호출하는 원리와 같은가요?
namespace MySpace1
{
int doSomething(int a, int b);
namespace InnerSpace
{
int my_function()
{
cout << doSomething(3, 4) << endl;
return 0;
}
}
int doSomething(int a, int b)
{
return a + b;
}
}
답변 1
0
namespace에서 접근할 수 있는 함수에는
자신의 부모 namespace의 함수까지도 포괄됩니다.
namespace parent {
void parentFunc();
namespace child {
void childFunc();
// can use parentFunc() as is
parentFunc();
}
//should use fully qualified name for childFunc()
child::childFunc();
}
자식 namespace 에서는 위 코드와 같이 바로 부모 namespace 함수를 호출할 수 있고,
부모 namespace에서는 자식 namespace 이름을 명시하여 접근할 수 있습니다.