代码之家  ›  专栏  ›  技术社区  ›  JimmyDiJim

在声明后定义枚举变量

  •  1
  • JimmyDiJim  · 技术社区  · 7 年前

    我在学数数。我有以下问题:我不明白为什么会这样:

    enum {fahrrad = 1, Auto = 2} einFahrzeug;
    int main() {
        einFahrzeug = fahrrad;
    

    但事实并非如此:

    enum {fahrrad = 1, Auto = 2} einFahrzeug;
    einFahrzeug = fahrrad;
    
    int main() { ...
    

    我很乐意得到答案

    1 回复  |  直到 7 年前
        1
  •  1
  •   eesiraed    7 年前

    不能将内容分配给函数外的变量。更简单的示例:

    #include <iostream>
    
    int x;
    x = 42;
    
    int main()
    {
        std::cout << x << '\n';
    }
    

    这将提供:

    prog.cpp:4:1: error: ‘x’ does not name a type
     x = 42;
     ^
    

    用ideone试试。com: https://ideone.com/A1K06A