为什么visual express 2008不能自动完成std :: system

时间:2011-08-01 15:12:30

标签: c++ visual-c++

为什么visual express 2008在键入system时没有给我std::的选项,虽然我听说它是​​<cstdlib>的一部分?

1 个答案:

答案 0 :(得分:2)

可能是系统在toplevel命名空间中定义,并且只通过using语句包含在std中。这样它实际上不会在命名空间std中,而是可以通过它访问。

只有一个顶级或全局命名空间::。所以:: global就是那个功能。如果他们将该功能实现为

void system(...);
namespace std { using ::system; }

可以解释这种行为。系统签名可能有误,没有检查。