Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/148.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 这是c++;? #包括 名称空间X { int k=8; } int main() { 使用名称空间X; int k=0; 标准::cout_C++_Lookup - Fatal编程技术网

C++ 这是c++;? #包括 名称空间X { int k=8; } int main() { 使用名称空间X; int k=0; 标准::cout

C++ 这是c++;? #包括 名称空间X { int k=8; } int main() { 使用名称空间X; int k=0; 标准::cout,c++,lookup,C++,Lookup,它是: 对于非限定名称,该名称不会出现在 范围解析运算符的右侧::,名称查找检查 作用域,直到找到至少一个 任何类型,此时查找将停止,并且不需要进一步的作用域 检查 因为k不会出现在范围解析运算符的右侧。它是: 对于非限定名称,该名称不会出现在 范围解析运算符的右侧::,名称查找检查 作用域,直到找到至少一个 任何类型,此时查找将停止,并且不需要进一步的作用域 检查 由于k不出现在范围解析运算符的右侧。No,是std::cout导致了No的限定查找我正在查找变量k,限定查找和非限定查找之间的差异

它是:

对于非限定名称,该名称不会出现在 范围解析运算符的右侧::,名称查找检查 作用域,直到找到至少一个 任何类型,此时查找将停止,并且不需要进一步的作用域 检查

因为
k
不会出现在范围解析运算符的右侧。

它是:

对于非限定名称,该名称不会出现在 范围解析运算符的右侧::,名称查找检查 作用域,直到找到至少一个 任何类型,此时查找将停止,并且不需要进一步的作用域 检查


由于
k
不出现在范围解析运算符的右侧。

No,是
std::cout
导致了
No的限定查找我正在查找变量k,限定查找和非限定查找之间的差异取决于要查找的名称。这里,这就是
std中的
k
::cout
。using指令还不重要;编译器首先必须确定它是一个不合格的查找。只有这样,
using
才重要。因此,
using
不能影响查找类型的选择。不,是
std::cout
导致了
的合格查找。不,我正在考虑查找变量k限定查找和非限定查找之间的差异取决于要查找的名称。这里是
std::cout
中的
k
。using指令还不重要;编译器首先必须确定它是非限定查找。只有这样
using
才有意义。因此,
using
不会影响查找类型的选择。@HovhannesVardanyan编辑问题答案时,问题答案往往无效。这不是工作原理。我对该网站是新手,我没有意识到这一点,但在新代码中,如果它是非限定查找,为什么不将名称空间作为声明(通常是这样的)来处理而是打印0@HovhannesVardanyan名称查找的工作原理是另一个问题。如果你愿意,我建议你发布另一个问题。原来的问题得到了回答:这是不合格的名称查找。@HovhannesVardanyan当编辑问题答案时,往往会无效。这不是工作原理。看,我是这个网站的新手,我不是真的尽管如此,但在新代码中,如果它是非限定查找,为什么不使用名称空间作为声明(通常是这样)呢而是打印0@HovhannesVardanyan名称查找是如何工作的是另一个问题。如果你愿意,我建议你为此发布另一个问题。原来的问题得到了回答:这是不合格的名称查找。
    #include <iostream>
    namespace X
    {
        int k  = 8;
    }
    int main()
    {
        using namespace X;
        int  k = 0;


        std::cout << k;


        return 0;
    }