初学,如何去掉“需要转换”这类错误?
<p>我用vs2005+CAD2008+objectARX2008-32bit</p><p>编译简单的程序时发生的错误:</p><p>1>e:\c\arx2008\arx2008\hello.cpp(23) : error C2664: “acutPrintf”: 不能将参数 1 从“const char ”转换为“const ACHAR *”<br/>1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换</p><p><br/>1>e:\c\arxproject1\arxproject1\acrxentrypoint.cpp(97) : error C2664: “acedGetInput”: 不能将参数 1 从“char ”转换为“ACHAR *”<br/>1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换</p><p></p><p>例如acutPrintf("\nString");这样的句子会发生上面的错误,改称acutPrintf(TEXT("\nString"));编译通过能运行。</p><p>但对acedGetInput用这样的方法还是出错,不知道何故? </p><p></p><p></p> acutPrintf(_T("\nstring"); 卡在相同的问题上了,求教版主这个问题怎么解决。 xkaeli 发表于 2013-6-17 13:16 static/image/common/back.gif卡在相同的问题上了,求教版主这个问题怎么解决。
对这个问题,一般来说是要把
char 转化为TCHAR
引号的字符加_T ,例如 acutPrintf("Hello,world!")改为 acutPrintf(_T("Hello,world"));
另外涉及到字符的一些函数应该用unicode或者TCHAR的相应函数。
譬如 strcpy 改为 _tcscpy,strcmp改为_tcscmp等等。
具体怎么改法,可以查阅MSDN.
页:
[1]