在遵循教程时我遇到了错误:C ++需要所有声明的类型说明符

时间:2016-01-19 09:56:09

标签: c++

我对pythonphp有一些经验,但现在决定学习一点C++。我正在关注http://www.tutorialspoint.com/cplusplus/cpp_data_types.htm的教程。但是我得到了一个错误:C ++需要一个类型说明符来表示所有声明"。

以下是教程所说的内容:

例如,以下代码定义了一种名为colors的颜色枚举和颜色类型的变量c。最后,c被赋值为" blue"。

enum color { red, green, blue } c;
c = blue;

这是我的代码:

#include <iostream>
using namespace std;

enum color {red, blue, green} c;

c = green;

int main()
{
        cout << c << endl;
        return 0;
}

当我尝试编译时,我收到此错误:

someuser@somemac:~/cpp/cpptut$ g++ enum.cpp
enum.cpp:6:1: error: C++ requires a type specifier for all declarations
c = green;
^
1 error generated.

在我看来,我完全按照教程中的说法完成所有工作。教程中有错误吗?

2 个答案:

答案 0 :(得分:2)

您不能在全局范围内使用松散语句,您需要将其放在函数中,或在定义时初始化变量。

所以要么

enum color {red, blue, green} c = green;

enum color {red, blue, green} c;

int main()
{
    c = green;
    ...
}

答案 1 :(得分:1)

您要声明一个全局变量,您需要声明类型,然后实例化变量:

enum color {red, blue, green};

color c = green;

int main()
{
   ...
}