S.l.e!ep.¢%

像打了激速一样,以四倍的速度运转,开心的工作
简单、开放、平等的公司文化;尊重个性、自由与个人价值;
posts - 1098, comments - 335, trackbacks - 0, articles - 1
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

VC error C4430 和 C2533 错误

Posted on 2011-05-03 04:09 S.l.e!ep.¢% 阅读(907) 评论(0)  编辑 收藏 引用 所属分类: VC

昨晚调试个程序,被这破问题搞了大半夜。

因为我在 .h 和 .cpp 文件中使用了 static 的类全局变量,需要在类构造前对这些变量进行初始化

view plaincopy to clipboardprint?
Status CXGdiplus::m_uGdiplusStatus = Gdiplus::GdiplusNotInitialized;  
ULONG_PTR CXGdiplus::m_ulGdiplusToken = 0; 
Status CXGdiplus::m_uGdiplusStatus = Gdiplus::GdiplusNotInitialized;
ULONG_PTR CXGdiplus::m_ulGdiplusToken = 0;

开始的时候 Visual Studio 编译老提示我:

错误 1 error C2143: 语法错误 : 缺少“;”(在“CXGdiplus::m_uGdiplusStatus”的前面) d:\cppcsprjs\gdiplusdemo\xgdiplus.cpp 32 GdiplusDemo

错误 4 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int d:\cppcsprjs\gdiplusdemo\xgdiplus.cpp 32 GdiplusDemo

于是一点点排查,最后几乎把所有的代码都快注释掉了,这次 Visual Studio 提示我:

错误 1 error C2533: “CXGdiplus::{ctor}”: 构造函数不能有返回类型 d:\cppcsprjs\gdiplusdemo\xgdiplus.cpp 41 GdiplusDemo

于是搜索了一下,终于发现原来是我用 UE 敲代码的时候,那个 .h 文件 class 声明结尾的 "}" 之后还有个分号 ";" 被我不小心漏掉了。

折腾了这大半夜竟然是这低级错误,郁闷死。

所以特意把这个贴出来,警示自己不要再犯了 ⊙﹏⊙b汗


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/DavidHsing/archive/2009/10/10/4648770.aspx


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理