【问题标题】:C++ std::system 'system' not a Member of stdC++ std::system 'system' 不是 std 的成员
【发布时间】:2010-11-29 15:21:43
【问题描述】:

我在编译 C++ 程序时收到错误消息,其中的行从“std::system(SomeString)”调用。这个程序是 3 年前编译的,但今天编译时,我收到一个错误,指出“系统”不是“标准”的成员。有什么我必须导入才能使用 std::system 的东西,是被放弃了,还是移到了另一个头文件。

【问题讨论】:

    标签: c++ header namespaces include std


    【解决方案1】:

    std::system 是(并且一直是)<cstdlib>

    C++ 标准没有定义标准头文件是否相互包含,如果包含,则包含哪些。因此,在 3 年前,在不同的编译器或同一编译器的不同版本上,您的代码可能会意外运行,因为您包含的一个标头恰好包含 <cstdlib>。在您现在使用的编译器/版本上,它没有。

    【讨论】:

      【解决方案2】:

      你有这个吗?:

      #include <cstdlib>
      

      【讨论】:

        【解决方案3】:

        确保您的代码中有#include &lt;cstdlib&gt;

        【讨论】:

          【解决方案4】:

          我试过了。 它在 vs2008 中以两种方式工作——“std::system()”或“system()”。 并且您想包含 stdlib.h 或 cstdlib

          【讨论】:

          • 与接受的相比,您回答的新信息有哪些?
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-02-13
          • 1970-01-01
          相关资源
          最近更新 更多