首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有C++错误C2664的CStrings

带有C++错误C2664的CStrings
EN

Stack Overflow用户
提问于 2015-08-18 15:06:04
回答 2查看 988关注 0票数 0

我有一些旧的C++文件,我知道这些文件是用来编译的。我已经创建了Visual C++版本6的新安装。

关于无法转换到const *,我在CStrings中遇到了很多编译错误。

下面是一个例子。

代码语言:javascript
复制
CString dogs = "test";
writeoutfile(dogs, 1);

void Crender::writeoutfile(CString data, long data_size) {}

我知道这个错误:

错误C2664:'void *,long):‘void*,C2664’:无法将参数1从“CString类”转换为“const*”。

有什么办法能让我避开这件事吗?

EN

回答 2

Stack Overflow用户

发布于 2015-08-18 15:11:14

您必须获得char字段的原始指针。这件事可以用

代码语言:javascript
复制
CString::GetBuffer()

这样你就可以打电话

代码语言:javascript
复制
writeoutfile(dogs.GetBuffer(), 1);
票数 0
EN

Stack Overflow用户

发布于 2015-08-19 16:34:24

CString应该转换为const *。它是Unicode构建的吗?这是我唯一能想到的解释。

GetBuffer()用于获取指向CString中包含的数据的可写指针。别干那事!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32076105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档