我在现有代码库中有以下(工作)代码,用于C和C++之间共享的包含文件,在MSVC(2010)和Windows DDK上编译:
struct X {
USHORT x;
} typedef X, *PX;
Run Code Online (Sandbox Code Playgroud)
和:
enum MY_ENUM {
enum_item_1,
enum_item_2
} typedef MY_ENUM;
Run Code Online (Sandbox Code Playgroud)
据我所知,正确的定义应如下所示:
typedef struct {
USHORT x;
} X, *PX;
Run Code Online (Sandbox Code Playgroud)
有下面的表格是否有任何目的?我错过了什么吗?
我偶然发现了一些代码,其中typedef关键字位于类型和别名之间,如in
int typedef INT;
Run Code Online (Sandbox Code Playgroud)
它编译为gcc和clang(实例).我不太了解标准.所以我的问题是:这个标准符合吗?我可以依靠编译器来支持它吗?