Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/161.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 转换标准::向量<;std::pair<;常数K,V>*&燃气轮机;到std::vector<;std::pair<;常数K,V>&燃气轮机;_C++_C++11_Vector_Stl - Fatal编程技术网

C++ 转换标准::向量<;std::pair<;常数K,V>*&燃气轮机;到std::vector<;std::pair<;常数K,V>&燃气轮机;

C++ 转换标准::向量<;std::pair<;常数K,V>*&燃气轮机;到std::vector<;std::pair<;常数K,V>&燃气轮机;,c++,c++11,vector,stl,C++,C++11,Vector,Stl,我想将std::vector转换为std::vector。但是,正如您所知,由于对的原因,我无法分配 我想可能有办法利用它 template< class InputIt > void assign( InputIt first, InputIt last ); template 无效分配(先输入,后输入); 让这一切发生。然而,我找不到出路 寻求建议。谢谢 只有在尝试分配元素或调用某些函数(如)时,const才是一个问题。但一切都会好起来的 一个解决方案: template &

我想将
std::vector
转换为
std::vector
。但是,正如您所知,由于
的原因,我无法分配

我想可能有办法利用它

template< class InputIt >
void assign( InputIt first, InputIt last );
template
无效分配(先输入,后输入);
让这一切发生。然而,我找不到出路


寻求建议。谢谢

只有在尝试分配元素或调用某些函数(如)时,
const
才是一个问题。但一切都会好起来的

一个解决方案:

template <typename Elem>
std::vector<Elem> deref_vec_elems( const std::vector<Elem*>& v ) {
    std::vector<Elem> v2;
    for ( Elem* e : v )
        v2.push_back( *e );
    return v2;
}
模板
标准::向量定义向量元素(常数标准::向量&v){
std::向量v2;
用于(元素*e:v)
v2.推回(*e);
返回v2;
}

修改了问题。在我看来,向量应该是合法的,因为我的编译器不会抱怨。