通过值/引用传递vector并从中获取迭代器
Pass vector by value/reference and get iterator from it
我想通过值传递两个向量并对它们进行一些计算。我有点困惑为什么以下不工作。我已经想了好几个小时了-.-
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到目前为止,我意识到我不需要在函数内改变它们,并且通过值传递也很好,但它也没有工作。
编译器打印出一大堆关于转换错误的文本。这就是我不把它复制到这里的原因
本地vector与迭代器返回的vector具有不同的value_type。
迭代器返回向量,而局部向量的元素为标量整数。
这些局部向量的值类型是什么?就像
定义std::vector<int> _mc(5);
std::vector<int> _mp(5);
为int
,而迭代器返回的对象的值类型为std::vector<int>
。
如果像
这样声明局部向量std::vector<std::vector<int>> _mc(5);
std::vector<std::vector<int>> _mp(5);
相关文章:
- Boost Spirit,获取迭代器内部语义动作
- 使用“decltype”获取迭代器的类型
- 为什么它不能在 c++ 中获取迭代器作为引用
- 从满足谓词的迭代器中均匀随机的容器中获取迭代器
- 获取迭代器错误的位置
- 获取迭代器在基类型 "intrusive doubly linked list" 的指针字典中的位置
- 获取迭代器返回的字符串的大小()
- 获取迭代器范围的每个第 n 个元素
- 从指针或引用获取迭代器
- std::min_element 获取迭代器的结果
- 使用std::find_if时,从传递给lambda的元素中获取迭代器
- 获取迭代器正在引用的STL容器的指针
- 获取迭代器以供常量参考
- 从指针获取迭代器
- 在(私有)继承向量<string>上获取迭代器
- 从Range Type中获取迭代器类型
- 通过值/引用传递vector并从中获取迭代器
- 试图从容器获取迭代器时出现编译错误
- 获取迭代器的位置??C++
- 从任何结构或元组按字符串形式的字段键获取迭代器