我有以下代碼:2008在C/C++中聲明typedef枚舉數組組合的正確方法是什麼?
typedef enum MyEnum{
A = 0,
B,
C,
D
} MyEnumArray[] = {A, B, C, D};
VS給我的錯誤
C2513: 'MyEnum []':沒有變量聲明之前 '='
是什麼從typedef enum
直接聲明數組的正確方法?
我有以下代碼:2008在C/C++中聲明typedef枚舉數組組合的正確方法是什麼?
typedef enum MyEnum{
A = 0,
B,
C,
D
} MyEnumArray[] = {A, B, C, D};
VS給我的錯誤
C2513: 'MyEnum []':沒有變量聲明之前 '='
是什麼從typedef enum
直接聲明數組的正確方法?
在C++中,只是刪除typedef
,它會正常工作。
在C中,刪除typedef
是足夠的。
但是如果你想要方便地使用的MyEnum
代替enum MyEnum
別處然後就發生了變化:
typedef enum {
...
} MyEnum;
MyEnum MyEnumArray[] = ...;
您的意思是:'MyEnum MyEnumArray [] = ...;'' – 2014-09-22 10:41:28
刪除typedef
聲明:
enum MyEnum{
A = 0,
B,
C,
D
} MyEnumArray[] = {A, B, C, D};
這是不可能在一個聲明。你可以定義一個類型或聲明一個變量,而不是兩個。這裏給出的聲明應該如何解釋?在同一範圍和名稱空間中不能有兩個相同的標識符。 – mafso 2014-09-22 10:11:15