#include <iostream>namespace{int a = 10;namespace savitch1{void greeting( );}namespace savitch2{void greeting( );}void big_greeting( );void savitch1::greeting( ){std::cout << "Hello from namespace savitch1.\n"<< a << std::endl;}void savitch2::greeting( ){std::cout << "Greetings from namespace savitch2.\n";}void big_greeting( ){std::cout << "A Big Global Hello!\n";}}int main( ){savitch1::greeting();savitch2::greeting();big_greeting( ); //使用了std一個標準命名空間return 0;}這個程序的開始使用了一個不具名的命名空間,里面的a這個變量在main函數里面是不能用的,但是里面的函數怎么可以在main函數里面調用呢?求解釋~!!!!!
1 回答

FFIVE
TA貢獻1797條經驗 獲得超6個贊
#include <iostream>
namespace
{
int a = 10;
namespace savitch1
{
void greeting( );
}
namespace savitch2
{
void greeting( );
}
void big_greeting( );
void savitch1::greeting( )
{
std::cout << "Hello from namespace savitch1.\n"<< a << std::endl;
}
void savitch2::greeting( )
{
std::cout << "Greetings from namespace savitch2.\n";
}
void big_greeting( )
{
std::cout << "A Big Global Hello!\n";
}
}
using namespace std; //加了個這個
int main( )
{
savitch1::greeting();
savitch2::greeting();
big_greeting( );//使用了std一個標準命名空間
cout<<a<<endl; //是不是這樣用啊
return 0;
}
.. 我也不知道你說的是怎么調用 但上邊的可以運行..
- 1 回答
- 0 關注
- 410 瀏覽
添加回答
舉報
0/150
提交
取消