Visual C++错误C2143:语法错误:缺少';' 'constant'之前
问题描述:
虽然错误与others经历的相同,但我的环境完全不同。我实际上试图声明一个常量:Visual C++错误C2143:语法错误:缺少';' 'constant'之前
const long CS_DROPSHADOW = 0x20000;
const long WS_EX_LAYERED = 0x80000;
错误报告为两个常量名称。
常量声明位于任何类声明之外的Header文件中。
这里是.h文件看起来像:
#ifndef _ASD_SMARTWINDOW_MAIN_H_TAGXXXMAIH_
#define _ASD_SMARTWINDOW_MAIN_H_TAGXXXMAIH_
#include "ASDTail.h" //Queue support.
namespace ASDSmartWindowMaster
{
...
};
class ASDSmartWindowListener
{
};
const long CS_DROPSHADOW = 0x20000;
const long WS_EX_LAYERED = 0x80000;
//Now comes a bunch of enums...
enum KLayeredWindowType
{ ... };
class ASDSmartWindow
{
};
#endif
答
CS_DROPSHADOW和WS_EX_LAYERED在WINUSER.H声明。 验证您是否在声明之前包含它。
+0
这就是它!谢谢! :: - )。 – Axonn 2012-02-22 11:42:55
你不应该为你的包括守卫使用[保留名称](http://*.com/questions/228783)。 – 2012-02-22 12:39:23
意思是我用_启动ifndef?对不起,这是一个6年的项目,我试图复活,很多可怕的东西在 - - D。 – Axonn 2012-02-22 13:25:12