我是一名C++程序员,我很少需要处理GCC"C".我目前正在将一些代码从C++转换为C,以便与GCC编译器一起使用.
在C++中,我将使用以下源代码.请注意,我会使用一个类作为范围.
C++来源
class Card {
public:
enum Suit {
Diamonds, Hearts, Clubs, Spades
};
};
class Weapon {
public:
enum WeaponType {
Rocks, Clubs, Guns
};
};
int main () {
Suit a = Card::Clubs;
WeaponType b = Weapon::Clubs
}
Run Code Online (Sandbox Code Playgroud)
在"C"中没有类别,也没有办法区分两个不同的"俱乐部"关键词.尝试编译时,我收到以下错误消息
错误C2365:'俱乐部':重新定义; 以前的定义是'枚举'
C来源
enum Suit {
Diamonds, Hearts, Clubs, Spades
};
enum WeaponType {
Rocks, Clubs, Guns
};
int main () {
Suit a = Clubs;
WeaponType b = Clubs
}
Run Code Online (Sandbox Code Playgroud)
所以我的问题是
cli*_*hlt 10
就像过去一样:
enum Suit {
ST_Diamonds, ST_Hearts, ST_Clubs, ST_Spades
};
enum WeaponType {
WT_Rocks, WT_Clubs, WT_Guns
};
int main () {
Suit a = ST_Clubs;
WeaponType b = WT_Clubs;
return 0;
}
Run Code Online (Sandbox Code Playgroud)