如何正确地将值从数组复制到向量?

时间:2015-02-26 06:06:13

标签: c++ c++11

我有将数组中的值复制到vector的代码。但它不起作用。在最后一行我得到

错误:无法绑定' std :: basic_ostream' lvalue to' std :: basic_ostream&&'          cout<< " s:" << tv<< ENDL;               ^

int t[] = {1,2,3,4,5};
vector<int> tv;

for (int i=0;i<5;i++)
    tv.push_back(i);

for (int v: tv)
    cout << "s: " <<  tv << endl;

2 个答案:

答案 0 :(得分:2)

更多&#34;适当&#34;替换此代码:

int t[] = {1,2,3,4,5};
vector<int> tv;

for (int i=0;i<5;i++)
    tv.push_back(i);

用这个:

const int t[] = {1,2,3,4,5};
const vector<int> tv( begin( t ), end( t ) );

其中beginend来自std::begin标题为std::end<iterator>


哦,编译错误:简单的拼写错误,写tv而不是t

答案 1 :(得分:1)

在这一行,

 cout << "s: " <<  tv << endl;

电视是vector<int>而不是int。像这样修改你的代码:

cout << "s: " << v << endl;

你现在可以接受了,谢谢。