【发布时间】:2017-03-28 10:38:00
【问题描述】:
我想通过值传递两个向量并用它们做一些计算。我有点困惑为什么以下不起作用。我想弄清楚这几个小时了-.-
typedef std::vector<std::vector<int> > Matrix_t;
...
void vector_product(const Matrix_t mc, const Matrix_t mp, Matrix_t& r){
std::vector<int> _mc(5);
std::vector<int> _mp(5);
_mc.insert(_mc.begin(), mc.begin(), mc.end());
_mp.insert(_mp.begin(), mp.begin(), mp.end());
}
我确实也尝试过首先使用 Matrix_t& 而不是 const Matrix_t 来执行此操作,直到我意识到我不必在函数内部更改它们并且按值传递也可以,但它也不起作用。
编译器会打印出一堵关于转换错误的文本。这就是我不会在这里复制它的原因。
【问题讨论】:
-
不能更改
const参数? -
不是这样的。您正在尝试将
vector<int>int 类型的元素复制到带有元素int的向量 -
omg -.- 你完全正确,我刚刚添加了索引,一切正常。真的非常感谢!!!我完全监督了这个......
-
我认为最好关闭这个问题..这对任何人都没有帮助,但谢谢你们
标签: c++ c++11 vector iterator implicit-conversion