如果一個包括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