不知道是编译器问题还是怎么回事,在线等

sunht 2003-10-10 11:58:50
VC ATL工程支持MFC,以前编译没有问题,增加一个接口后,突然出下如下错误
E:\sybase\con.cpp(109) : error C2664: 'void __cdecl CString::Format(const unsigned short *,...)' : cannot convert parameter 1 from 'char [13]' to 'const unsigned short *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast

凡是用到CString::Format函数的地方都报这个错误,以前没有啊,这个怎么回事?
...全文
49 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunht 2003-10-10
  • 打赏
  • 举报
回复
可是为什么以前没有问题呢?我怀疑是不小心把什么宏之类的东西给弄掉了
alphapaopao 2003-10-10
  • 打赏
  • 举报
回复
可能有UNICODE之类的问题,把你的那个13个字符的字符串数组改为
TCHAR psz[13]

你的定义可能是
char psz[13]

这样或许能解决问题

------------------------------------------------------------
http://www.betajin.com/alphasun/index.htm
lop5712 2003-10-10
  • 打赏
  • 举报
回复
楼主原来可能没加了UNICODE宏或_UNICODE宏,加了此宏后
CString就变为CStringW(VC.net),如果VC6,则是CString将自己的成员变量及相关成员函数的原型换成WCHAR(即unsigned short)
未加UNICODE宏时,
CString::Format( const unsigned char *, ... );
加了后
CString::Format( const unsigned short *, ... );
所以错误,至于怎办,楼上已经说得很清楚了

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧