我正在构建一个需要在 Windows 和 Linux 上编译的应用程序。该应用程序是用 C 编写的,除了 MinGW 编译器拒绝它之外,几乎所有东西都可以工作
typedef struct somestruct{
...snip...
enum {NODE, REAL} type;
};
somestruct* something;
switch (something->type){
case NODE:
...stuff...;
break;
case REAL:
...otherstuff...;
break;
}
它说 NODE 和 REAL 没有定义,但是如果我提供范围解析
case somestruct::NODE
这可以使用 MinGW 3.4.1 编译,但无法在 linux 上使用 gcc 4.1.2 编译。这只是一个需要用预处理器解决的编译器问题还是有其他解释?