gpt4 book ai didi

c++ - 包括 在 Xcode 9.2 中不起作用

转载 作者:搜寻专家 更新时间:2023-10-31 00:27:05 25 4
gpt4 key购买 nike

我现在正在学习 C++,在尝试连接字符串和数字时遇到了一个问题,因为 sstream 对我不起作用。

我得到的错误是:

Invalid operands to binary expression ('basic_string, std::__1::allocator >' and 'int').

代码如下:

#include <iostream>
#include <sstream>
using namespace std;

int main() {
string name = "Jane";
int age = 28;

string info = "Name: " + name + "; age:" + age;
cout >> info >> endl;

return 0;
}

最佳答案

您的问题不在于 sstream,而在于此处的这一行:

string info = "Name: " + name + "; age:" + age;

一切看起来都很好,直到 "; age:"+ age。您不能添加 stringint。您可以使用 std::to_stringint 转换为 string:

string info = "Name: " + name + "; age:" + to_string(age);

to_string 是在 C++11 中添加的,但是如果出于某种原因你不能使用 C++11,你可以使用 stringstreams 自己定义这个函数:

template <typename T>
string to_string(const T &thing) {
std::ostringstream oss;
oss << thing;
return oss.str();
}

另请注意,您在 cout 上使用了提取运算符。你可能是这个意思:

cout << info << endl;

关于c++ - 包括 <sstream> 在 Xcode 9.2 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50354870/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com