如果我这样写:
typedef enum {
foo_1,
foo_2
}foo ;
Run Code Online (Sandbox Code Playgroud)
我发现我可以使用
int footype = foo::foo_1 在c ++中
我可以直接使用
int footype = foo_1 在c中,
那么是否有一种方法可以编写在c ++和c中都能运行的相同代码?代码在一个只有一个结构的头文件中.
int footype = foo_1;
Run Code Online (Sandbox Code Playgroud)
这将在C和C++中编译.
int footype = foo::foo_1;
Run Code Online (Sandbox Code Playgroud)
只有C++ 11的强类型枚举才需要此语法.