我有一个代码在我的电脑上产生错误,但在其他PC上没有。我安装了Windows 7并安装了兼容的SDK for Windows 7.我还包含了VC目录(来自Tools - >选项) - > vc Diretories)但代码仍然会产生以下错误。
error C2059: syntax error : 'constant' error C2238: unexpected token(s) preceding ';' error C2589: '(' : illegal token on right side of '::' warning C4091: '' : ignored on left of 'const unsigned int' when no variable is declared error C2143: syntax error : missing ';' before '::' error C2059: syntax error : '::' error C2059: syntax error : 'constant' error C2238: unexpected token(s) preceding ';'
语句生成错误如下
static const unsigned int MAPVK_VK_TO_CHAR;
const unsigned int KeyLogger :: MAPVK_VK_TO_CHAR = 0x02;
答案 0 :(得分:3)
尝试选择MAPVK_VK_TO_CHAR并点击F12以查看该符号是否在其他地方声明。
答案 1 :(得分:1)
什么是MAPVK_VK_TO_CHAR
?我问,因为错误可能表明这是一些宏。
为什么你要制作一个普通的标识符(不是宏)全部大写?这只是乞求<windows.h>
中的数千个宏中的一个来践踏它。 (并不是因为<windows.h>
亵渎神明地定义了许多混合大小的宏,所以不会全部封顶会阻止这种情况......)
否则,您必须粘贴一些显示问题的最小,可编译的示例。