no+match+for+operator
时间: 2023-11-22 10:50:57 浏览: 140
简单算术计算C++
4星 · 用户满意度95%
在C++中,当我们尝试将一个字符串和一个整数相加时,会出现“no match for 'operator+' (operand types are 'std::__cxx11::string {aka std::__cxx11::basic_string<char>}' and 'int')”的编译错误。这是因为C++中并没有重载basic_string<char>和int的+运算符。解决这个问题的方法是将整数转换为字符串,然后再将两个字符串相加。下面是一个例子:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "hello";
int num = 123;
string result = str + to_string(num);
cout << result << endl; // 输出:hello123
return 0;
}
```
另外,在C++中,我们可以使用字符类型的加法运算符来将一个字符和一个整数相加,例如:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "doudou";
char ch = '0' + 1;
string result = str + ch;
cout << result << endl; // 输出:doudou1
return 0;
}
```
阅读全文