为了账号安全,请及时绑定邮箱和手机立即绑定

求指教,以下代码是关于不具名命名空间的问题:

求指教,以下代码是关于不具名命名空间的问题:

慕神8447489 2021-07-21 18:15:45
#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;
}

.. 我也不知道你说的是怎么调用 但上边的可以运行..



查看完整回答
反对 回复 2021-07-25
  • 1 回答
  • 0 关注
  • 357 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信