我有将数组中的值复制到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;
答案 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 ) );
其中begin
和end
来自std::begin
标题为std::end
和<iterator>
。
哦,编译错误:简单的拼写错误,写tv
而不是t
。
答案 1 :(得分:1)
在这一行,
cout << "s: " << tv << endl;
电视是vector<int>
而不是int
。像这样修改你的代码:
cout << "s: " << v << endl;
你现在可以接受了,谢谢。