【发布时间】:2016-01-28 20:32:15
【问题描述】:
我可以执行以下代码所示的操作:
std::string a = "chicken ";
std::string b = "nuggets";
std::string c = a + b;
但是,这失败了:
std::string c = "chicken " + "nuggets";
它给了我一个错误说“'+'不能添加两个指针”。为什么呢?有没有其他方法可以做到这一点而不会出错?
【问题讨论】:
-
如果您告诉我们
string是什么会有所帮助。 -
你
include <string>了吗? -
我以为我已经正确解释了这个问题,抱歉。不,我不需要包含
. -
@VicenteBermúdez 如果您使用的是
std::string,那么您确实需要#include <string>。如果没有它,如果其他头文件引入了一些必需的定义,代码可能会部分工作,但这并不意味着您不需要包含它。如果您不这样做,预计稍后会出现奇怪的错误。 -
for std::strings 加法运算符被重载以连接两个输入字符串。然而“chicken”和“nuggets”是C-strings。编译器不会连接它们。
标签: c++