2017-09-17 21 views
1

ファイルには、匿名ネームスペースと名前付きネームスペースがあります。匿名の名前空間は、公開されるべきでないいくつかの内部関数を持ち、名前付きの名前空間は、アクセスする必要があるいくつかの多重定義された関数を持っています。匿名ネームスペースから名前付きネームスペース内の関数を呼び出す

その下に書かれた名前付き名前空間にアクセスする方法を教えてもらえますか?匿名の名前空間から名前付き名前空間の関数にアクセスすることはできますか?それは使用して定義される前に、関連する名前空間で宣言することができ

+1

あなたが ''便利:: funcを(int型)を宣言しましたか? – wally

+1

関数 ':: crazy()'は、前にではなく、 'useful :: func()'の宣言の後に定義する必要があります。 – Peter

+0

ありがとう、私はいくつかの良い方法があると思った。 –

答えて

1

//test.cpp 

namespace useful { 
void func(int); 
} 

namespace 
{ 
void func() {} 
void crazy() 
{ 
    useful::func(3); 
} 
} 

namespace useful 
{ 
void func(int a) 
{ 
    //something 
} 
} 
関連する問題