标签: c++ struct namespaces overloading
我是C ++的新手,我不理解这个(对我而言)奇怪的行为。
#include <iostream> namespace A { struct S {}; int bar(S s) { return 1; }; } int main() { A::S s; std::cout << bar(s); }
这个程序编译错误,并打印1 ...但我的知识会说应该抛出一个错误,像“bar”这样的东西没有定义;因为它在A名称空间中。
这怎么可能?
谢谢。