提问,类型转换

zhu214002014 2010-02-07 03:59:53
rfn是取自一个 string数组里的
const char pcLocalFile[40];
strcpy(pcLocalFile,rfn.c_str());
我的函数调用需要传递pcLocalFile参数,它的类型是const char *,这个不能改变,一改就无法原来函数就无法使用了。
问下该怎么办?
编译出错信息如下
error C2734: 'pcLocalFile' : const object must be initialized if not extern
error C2664: 'strcpy' : cannot convert parameter 1 from 'const char [40]' to 'char *'
Conversion loses qualifiers
...全文
106 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhu214002014 2010-02-07
  • 打赏
  • 举报
回复
恩,谢谢
baihacker 2010-02-07
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zhu214002014 的回复:]
但是这个问题怎么办呢?
error C2734: 'pcLocalFile' : const object must be initialized if not extern
[/Quote]
一定要初始化一下。
lovesi3344 2010-02-07
  • 打赏
  • 举报
回复

const char pcLocalFile[40] ="123";
这不是初始化了吗??


[Quote=引用 5 楼 zhu214002014 的回复:]
但是这个问题怎么办呢?
error C2734: 'pcLocalFile' : const object must be initialized if not extern
[/Quote]
zhu214002014 2010-02-07
  • 打赏
  • 举报
回复
但是这个问题怎么办呢?
error C2734: 'pcLocalFile' : const object must be initialized if not extern
zhu214002014 2010-02-07
  • 打赏
  • 举报
回复
但是这个问题怎么办呢?
error C2734: 'pcLocalFile' : const object must be initialized if not extern
lovesi3344 2010-02-07
  • 打赏
  • 举报
回复
int main()
{
const char pcLocalFile[40] ="123";
strcpy((const_cast<char*>(pcLocalFile),"123");
cout << pcLocalFile << endl;
return 0;
}
lovesi3344 2010-02-07
  • 打赏
  • 举报
回复
int main()
{
const char pcLocalFile[40] ="123";
strcpy((const_cast<char*>(pcLocalFile),"123");
cout << pcLocalFile << endl;
return 0;
}
baihacker 2010-02-07
  • 打赏
  • 举报
回复
int main()
{
const char pcLocalFile[40] ="123";
strcpy((char*)pcLocalFile,"123");
cout << pcLocalFile << endl;
return 0;
}

64,652

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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