如何在函数内调用命名空间?

时间:2018-05-17 16:18:28

标签: c++

我的代码有些有趣和错误。

@ViewChild('my-component', { read: ElementRef}) myComponent: ElementRef;

编译时会显示错误消息:

#include <iostream>
void func(){
    using namespace std;
}
main(){
    func(); //Here the function will introduce the (using namespace std declaration) in the code
    cout << "Hello World!";
    return (0);
}

我不明白为什么功能&#39; func()&#39;没有调用标记:&#39;使用命名空间std&#39;适当。

2 个答案:

答案 0 :(得分:1)

要解决此问题,您必须将using namespace std;移到func()之外。在当前代码中失败的原因是using声明仅适用于调用它的范围(在本例中为func())。因此,退出func()后,您将失去using namespace std;

的效果

答案 1 :(得分:0)

您假设在运行时启用了命名空间,但命名空间仅在编译时有意义。你正在做的是将std的使用限制在函数func()的范围内。也就是说,它允许您键入

cout

在该函数内部,但不在其他地方。