gpt4 book ai didi

c++ - ISO C++禁止无类型的 ‘multiset’声明

转载 作者:行者123 更新时间:2023-12-02 11:16:08 24 4
gpt4 key购买 nike

使用WAF构建软件(NS3)时出现此错误

In file included from ../src/internet-stack/mp-tcp-typedefs.cc:6:
../src/internet-stack/mp-tcp-typedefs.h:151: error: ISO C++ forbids declaration of ‘multiset’ with no type
../src/internet-stack/mp-tcp-typedefs.h:151: error: expected ‘;’ before ‘<’ token
In file included from ../src/internet-stack/mp-tcp-socket-impl.cc:17:
../src/internet-stack/mp-tcp-typedefs.h:151: error: ISO C++ forbids declaration of ‘multiset’ with no type
../src/internet-stack/mp-tcp-typedefs.h:151: error: expected ‘;’ before ‘<’ token

我搜索了错误,解决方案说可能我的C++代码中缺少 using namespace std#include <set>,但我的代码并未缺少这些。错误产生的文件 [mp-tcp-typedefs.h]here(第151行有错误)。

我尝试解决该错误,但是仍然很长时间了。

我的gcc/g++版本是g++(Ubuntu/Linaro 4.4.7-8ubuntu1)4.4.7。

最佳答案

您不应将using namespace std;放在头文件中:

Why is "using namespace std;" considered bad practice?

您可以通过将using namespace std;移动到自己的命名空间中来更改此代码,从而修复代码:

using namespace std;

namespace ns3 {

对此:
namespace ns3 {

using namespace std;

但是最好删除 using namespace std;并用 std::限定所有标准符号,或者在您自己的命名空间中分别声明它们。
namespace ns3 {

using std::string;
using std::list;
using std::multiset;
using std::queue;

关于c++ - ISO C++禁止无类型的 ‘multiset’声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31882187/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com