【发布时间】:2015-11-11 14:35:43
【问题描述】:
我有一些我知道用来编译的旧 C++ 文件。我已经创建了 Visual C++ 版本 6 的新安装。
我收到很多关于无法转换为 const char * 的 CStrings 编译错误
这是一个例子。
CString dogs = "test";
writeoutfile(dogs, 1);
void Crender::writeoutfile(CString data, long data_size) {}
我收到此错误:
错误 C2664: 'void __thiscall Crender::writeoutfile(const char *,long)' : 无法将参数 1 从 'class CString' 转换为 'const char *'
有什么办法可以解决这个问题吗?
【问题讨论】:
-
writeoutfile的原型与您那里的实现不匹配(它需要const char *,而不是CString),或者您在某处将CString键入到const char *. -
完全正确我更改了 cpp 文件,但没有更改 h 文件。它曾经说 void writeoutfile (LPCSTR data, long data_size = -1)。我将第一个参数更改为 CString 只是为了尝试简化问题。
标签: c++ visual-c++