C ++“多种types在一个声明”错误

当我编译C ++程序时,为什么"multiple types in one declaration"出现"multiple types in one declaration"错误?

你可能有相当于的代码

 int float x; 

大概

 class Foo { } float x; 

或者更常见的forms(注意大括号后的缺失分号)

 class Foo { // } float x; 

我有同样的问题。 有时错误行不显示正确的位置。 浏览所有新build/修改的课程,看看你是否忘记了“;” 在阶段defifnition结束。

你必须在同一个类或两个同名的类中声明两次相同的variables。 例如,请参阅Stack Overflow。

你也可能会错过一个; 或者你可以有一个破碎的语法类定义…

如果你能向我们展示一些代码,那会更好!

不要忘记检查; 在枚举声明之后。

我的猜测是你在类定义的某个地方丢失了一个右括号,或者在它后面有一个分号。

另外,您可能在前向声明中忘记了分号:

 class Foo // <-- forgot semicolon class Bar { ... }; 

这是又一个可能会popup相同错误的场景

 struct Field { // <------ Forget this curly brace enum FieldEnum { FIRSTNAME, MIDDLENAME, LASTNAME, UNKNOWN }; }; 

同意以上。 另外,如果你看到这个,预处理应用程序,看看.isearch“违规”名称。 然后回头看。 你会经常看到“}”w / o“;” 在上面的第一个非空间上课。 发现问题通常比知道问题困难。