【问题标题】:While following a tutorial I'm getting an error: C++ requires a type specifier for all declarations在遵循教程时出现错误:C++ requires a type specifier for all declarations
【发布时间】:2016-01-19 09:56:08
【问题描述】:

我对@9​​87654322@ 和php 有一些经验,但现在决定学习一点C++。我正在关注http://www.tutorialspoint.com/cplusplus/cpp_data_types.htm 的教程。但我收到“错误:C++ 需要所有声明的类型说明符”。

教程是这样说的:

例如,以下代码定义了一个名为颜色的颜色枚举和颜色类型的变量 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.

在我看来,我所做的一切都完全按照教程中的说明进行。教程有错误吗?

【问题讨论】:

  • 尝试在 inside 函数范围内进行操作

标签: c++


【解决方案1】:

你不能在全局范围内有松散的语句,你需要把它放在一个函数中,或者在定义时初始化变量。

所以

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

enum color {red, blue, green} c;

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

【讨论】:

    【解决方案2】:

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

    enum color {red, blue, green};
    
    color c = green;
    
    int main()
    {
       ...
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-17
      • 2023-03-17
      • 2020-04-05
      • 1970-01-01
      • 2012-09-24
      • 2011-09-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多