我对python
和php
有一些经验,但现在决定学习一点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.
在我看来,我完全按照教程中的说法完成所有工作。教程中有错误吗?
答案 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()
{
...
}