如果一个包括WINDOWS.H在Visual Studio中的C++文件食一个全局变量的名字,他们然后有一个名为STANDARD_RIGHTS_ALL定义的全局标识符。我想在我创建的类中使用该名称作为静态成员变量的名称。我试图做如下...由静态成员名称
class ACLAmigo
{
public:
static int STANDARD_RIGHTS_ALL;
ACLAmigo(void);
~ACLAmigo(void);
};
后来在另一个文件我有这个...
int ACLAmigo::STANDARD_RIGHTS_ALL = 1;
但正是如此IDE抱怨:“错误:预期的标识符”。
问:我可以用这个已经声明标识符STANDARD_RIGHTS_ALL作为成员变量名,如果是的话怎么办?
STANDARD_RIGHTS_ALL可能是一个宏。你可以#undef它,但你可能会遇到麻烦。 – 2012-03-11 14:47:03
其实这是一个“#define STANDARD_RIGHTS_ALL(0x001F0000L)”。我实际上不能解开它,因为我想使用宏名称将我的变量设置为该值(一个#define是一个宏是否正确?)。如果我在我的变量名称前添加一个下划线,它将起作用。如果我愿意的话,我会接受这一点,但不必非得这么做。 – 2012-03-11 14:49:44
我已经添加了一个处理该问题的答案。 – 2012-03-11 15:00:30