关于C++ vector 的问题

请问下列代码错在哪里?
#include<iostream>
#include<vector>
#include<string>
using std::vector;
using namespace std;
int main()
{
    int word;
    vector<int> var;
    vector<int> res_var;
    cout << "Please enter a group numbers:" << endl;
    while (cin >> word){
        var.push_back(word);
        for (vector<int>::size_type i = 0; i != (var.size()-1); i = i + 2){
            res_var = var[i] + var[i+1];
            cout << res_var << " ; " ;
        }
        if (var.size() % 2 = 1)
            cout << "The last one no add."  << endl;
    }
    return 0;
}
 错误信息:
 [Error] no match for 'operator=' (operand types are 'std::vector<int>' and 'int')
 [Error] no match for 'operator<<' (operand types are 'std::ostream {aka std::basic_ostream<char>}' and 'std::vector<int>')

创建vector的时候初始化大小,res_var后面加下标,最后的if里写“==”。

vector需要遍历,然后cout一个个输出元素。不能直接输出vector

res_var是一个集合,怎么等于两个数相加,估计你少了下标。或者你想postback?

你把你自己定义的 i 作为了vector的本身带有的了,你通过自己定义的i坐标去找vector中的坐标,你说可能吗

vector是一个容器,你能用同样的容器给他赋值,怎么可以用把两个数相加的结果赋给vector

vector不支持从int的赋值,数字赋值给数字的集合没有意义,估计是忘了下标了。

vector没有定义<<操作符,当然自己也可以定义<<操作符,比如说定义为把所有的成员都用{}包起来。

可以用int定义res_var,然后放进vector里