【发布时间】:2012-11-21 07:11:13
【问题描述】:
在我使用 WTL - Visual Studio 9 中的对话框向导创建了一个普通对话框之后,我已经包含了 <atltime.h> 标题,我得到了这个:
Error 2 error C2039: 'CString' : is not a member of 'WTL' ...\wtl\include\atlctrls.h 5060 TASKSCHEDULER
Error 3 error C2039: 'CString' : is not a member of 'WTL' ...\wtl\include\atlctrls.h 969 TASKSCHEDULER
Error 4 error C2039: 'CString' : is not a member of 'WTL' ...\wtl\include\atldlgs.h 535 TASKSCHEDULER
Error 5 error C2039: 'CString' : is not a member of 'WTL' ...\wtl\include\atldlgs.h 627 TASKSCHEDULER
Error 6 error C2039: 'CString' : is not a member of 'WTL' ...\wtl\include\atldlgs.h
697 TASKSCHEDULER
【问题讨论】:
-
确保您的#include 不在命名空间内
-
你试过包含
吗? -
我通过在 atlapp.h 之前和 atlbase.h 之后包含 atlstr.h,在使用向导的简单对话框创建中解决了这个问题。但在一个更大的项目中,问题无处不在,说 'CString' : ambiguous symbol。
-
我做了 typedef WTL::CString CString 或 typedef ATL::CAtlString CString,但还是弹出同样的错误。
-
首先不要说你的Q是不完整的。在新创建的项目中添加
#include <atltime.h>(特别是在#include <atlbase.h>下面)不会导致任何错误。