我有一段代码是自动生成的,可以在Linux上编译,但不能在Windows上使用Visual Studio 2008 Express编译.我遇到的问题是我不理解编译器错误.我不认为我可以发布确切的代码,所以这是一个消毒版本...
报告静态const DELETE的行报告错误.注意:编译此文件时编译器错误不会显示 - 它会成功构建到库中,但会显示在包含标题(间接)的第二个项目中.我相信至少有一两个其他项目在解决方案中间接包含它 - 它们没有任何问题编译.
File_A.h:
enum LONG_TYPE_NAME {
ENUM_NAME_PREFIX_ADD = 0,
ENUM_NAME_PREFIX_CHANGE = 1,
ENUM_NAME_PREFIX_DELETE = 2,
ENUM_NAME_PREFIX_SOMETHINGELSE = 3,
};
//Lots of code here
class FOO : public ::LIBRARY_NAME {
public:
//Some stuff
private:
//Some stuff
public:
//Some more stuff
typedef LONG_TYPE_NAME SHORT_NAME;
static const SHORT_NAME ADD = ENUM_NAME_PREFIX_ADD;
static const SHORT_NAME CHANGE = ENUM_NAME_PREFIX_CHANGE;
/* compiler error for the following line only*/
static const SHORT_NAME DELETE = ENUM_NAME_PREFIX_DELETE;
static const …Run Code Online (Sandbox Code Playgroud)