我有一个简单的命名空间
,其中包含一个变量和一个函数。在main
中,我尝试调用没有命名空间限定符的函数,并使用命名空间限定符调用变量。
namespace SAM
{
int p = 10;
void fun(int)
{
cout<<"Fun gets called";
}
}
int main()
{
fun(SAM::p);//why SAM::fun is not get called?
return 0;
}
我不能调用fun函数,为什么不符合ADL(参数相关的名称查找)条件?
在Visual Studio中,我遇到了以下错误。
'fun':未找到标识符
如果我使用 SAM::fun
,它可以工作。