我如何正确使用;使用名称空间foo?“; 我对C++中的命名空间X略微感到困惑。为什么在这种情况下是不正确的?“使用名称空间”是否仅适用于我们正在包含的其他文件 #include <iostream> using namespace A; namespace A { void print() { std::cout << "From namespace A" << std::endl; } } namespace B { void printB() { std::cout << "From namespace B" << std::endl; } } int main() { print(); printB(); } #包括 使用名称空间A; 名称空间A{ 作废打印(){ std::cout
使用名称空间将允许您拥有两个名为print的函数。您可以将它们用作我如何正确使用;使用名称空间foo?“; 我对C++中的命名空间X略微感到困惑。为什么在这种情况下是不正确的?“使用名称空间”是否仅适用于我们正在包含的其他文件 #include <iostream> using namespace A; namespace A { void print() { std::cout << "From namespace A" << std::endl; } } namespace B { void printB() { std::cout << "From namespace B" << std::endl; } } int main() { print(); printB(); } #包括 使用名称空间A; 名称空间A{ 作废打印(){ std::cout,c++,namespaces,C++,Namespaces,使用名称空间将允许您拥有两个名为print的函数。您可以将它们用作A::print()和B::print(),而不必重命名其中一个printB(),因为错误消息告诉您这些函数不在当前范围内声明。 使用未指定命名空间调用的所有内容都被视为在全局命名空间中找到,如::print,::printB 您需要使用命名空间作用域运算符(:),如下所示: A::print(); B::printB(); 或使用语句的: using A::print; using B::printB; 相关/重复:@Na
A::print()
和B::print()
,而不必重命名其中一个printB()
,因为错误消息告诉您这些函数不在当前范围内声明。使用未指定命名空间调用的所有内容都被视为在全局命名空间中找到,如
::print
,::printB
您需要使用命名空间作用域运算符(:
),如下所示:
A::print();
B::printB();
或使用语句的:
using A::print;
using B::printB;
相关/重复:@NathanOliver其实不是同一个问题