奇怪的编译错误:ISO C++禁止声明“set”;没有类型

发布于 2024-11-08 12:52:07 字数 538 浏览 6 评论 0原文

可能的重复:
错误帮助:ISO C++ 禁止声明没有类型的“向量”

我在代码中使用 set ,如下所示:

#include <set> 

set<int> followers; //line 36

当我用 g++ 编译代码时,它会打印以下错误消息:

myCode.cpp:36: error: ISO C++ forbids declaration of ‘set’ with no type  
myCode.cpp:36: error: expected ‘;’ before ‘<’ token

我在这里做错了什么?

Possible Duplicate:
Help with error: ISO C++ forbids declaration of 'vector' with no type

I'm using set in my code as follows:

#include <set> 

set<int> followers; //line 36

When i compile my code with g++, it prints the following error message:

myCode.cpp:36: error: ISO C++ forbids declaration of ‘set’ with no type  
myCode.cpp:36: error: expected ‘;’ before ‘<’ token

What am i doing wrong here?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

街角迷惘 2024-11-15 12:52:07

您忘记指定命名空间:std::set;关注者;

到底发生了什么:因为你没有指定命名空间,编译器遇到一个未知符号 set 并且因为它是第一次出现,所以它决定它是一个声明:在 C 中,可以声明 int 变量而不指定类型。 C++ 明确禁止该类型的声明,因此会出现错误。

You forgot to specify namespace: std::set<int> followers;.

What exactly happens is the following: since you didn't specified namespace compiler encounters an unknown symbol set and since it is it's first occurence it decides that it is a declaration: in C one could declare int variables without specifying type. C++ explicitly forbids that types of declarations, hence the error.

缱绻入梦 2024-11-15 12:52:07

尝试使用 using namespace std 或者只是使用 std::set

Try putting using namespace std or just you can use std::set<int>

调妓 2024-11-15 12:52:07

或者您可以只导入设置标识符

using std::set;

然后

set<int> something;

Or you can just import set identifier by

using std::set;

and then

set<int> something;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文