当前位置:  开发笔记 > 编程语言 > 正文

将字符串参数传递给另一个字符串

如何解决《将字符串参数传递给另一个字符串》经验,为你挑选了1个好方法。

我定义了这个类:

class Forum{
std::string title;
Thread* threads[5];

在Forum :: Forum的构造函数中,我想传递一个字符串参数来定义title(它是type-string)

Forum::Forum(string *k) {
int i;
std::strcpy(&title.c_str(),k->c_str());

我有问题.在这段代码中我得到一个"左值作为一元'和'操作数'错误.如果我擦除'&'我得到错误"无效转换'const char*'到'char*'[-fpermissive]".

任何想法我将如何设置将strcpy(或其他方法可能)的参数传递给字符串类型避免上述错误?



1> Dark Falcon..:

除非您打算允许省略标题,否则我建议您传递const引用而不是指针:

 Forum::Forum(const string& k)

这使得更清楚的是必须提供名称,并允许传递字符串文字作为名称:

 Forum f("Main Forum");

然后,要复制a std::string,只需指定它或使用其复制构造函数.strcpy仅适用于C风格的char*字符串.在这种情况下,使用成员初始值设定项:

Forum::Forum(const string& k):
  title(k)
{
}

推荐阅读
赛亚兔备_393
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有