gpt4 book ai didi

c++ - 通过 string::insert 插入 char 时出错

转载 作者:太空狗 更新时间:2023-10-29 20:35:00 25 4
gpt4 key购买 nike

我的问题类似于this one但是那里没有示例代码,我觉得它没有帮助。

我的错误是

calling a private constructor of class 'std::__1::__wrap_iter'

可以在下面找到我的问题的一个最小示例:

#include <iostream>
#include <string>

using namespace std;

int main(){
string g = "this_word";
cout << g << endl;
char temp = g[0];
g.erase(0,1);
cout << g << endl;
g.insert(0,temp); // Compiler seems to dislike this. Why?
cout << g << endl;
return 0;
}

我已经通过两个编译器试过了,同样的错误。尽可能多地阅读标准文档,但不理解我的错误。

最佳答案

最好检查std::string::insert()的所有重载签名然后决定使用哪一个。 g.insert(0,temp); 与其中任何一个都不匹配。

为了插入一个char,你可以像这样传递一个迭代器

g.insert(g.begin(), temp);

或者传递索引并一起计数:

g.insert(0, 1, temp);

关于c++ - 通过 string::insert 插入 char 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45292704/

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