gpt4 book ai didi

c++ - "no matching function call..."这个错误是从哪里来的,我该如何解决?

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

我在第 3 行遇到了一个问题——“没有匹配的函数来调用 std::vector::push_back(int*)const”——有人可以向我解释这个问题的来源以及我如何能解决了吗?

for(int i = 1; i < 7; i++){
for(vector< vector<int> >::const_iterator it = x.begin(); it < x.end(); it++){
it->push_back(i);
}
}

最佳答案

您正在使用 const_iterator 进行迭代。根据定义,您不能修改 const_iterator 引用的内容。使用非常量 iterator 代替:

for(vector< vector<int> >::iterator it = x.begin(); it != x.end(); it++){
it->push_back(i);

或者,更好的是,您应该使用现代 C++11 或更高版本:

for (auto &x_vector: x)
x_vector.push_back(i);

您不认为现代 C++ 更易于编写和理解吗?

关于c++ - "no matching function call..."这个错误是从哪里来的,我该如何解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37648658/

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