35 7 C:\Users\renguoxin\Desktop\素数.cpp [Error] no match for 'operator-=' (operand types are 'std::string {aka std::basic_string<char>}' and 'std::string {aka std::basic_string<char>}')
时间: 2023-09-22 12:07:44 浏览: 75
经典C语言程序设计100例11-20.txt
这个错误是因为您在程序中使用了字符串类型的 `-=` 运算符,但是 `std::string` 类型并没有定义 `-=` 运算符,因此编译器报错。
如果您想要将一个字符串类型的变量减去另一个字符串类型的变量,可以使用 `std::string` 类型的 `erase()` 函数和 `find()` 函数来实现,例如:
```
std::string str1 = "hello";
std::string str2 = "lo";
str1.erase(str1.find(str2), str2.size());
```
这样就可以将 `str1` 中的 `str2` 字符串删除,相当于做了一个字符串减法操作了。
阅读全文