C ++ - 在FOR循环中从vector获取大小

时间:2013-01-20 23:58:29

标签: c++ vector for-loop

我有一个循环,询问用户输入,并将其添加为矢量,然后当它们键入“EXIT”时,它将停止并显示列表。我现在要做的是确定size()

的元素数量

这就是我所拥有的:

#include <iostream>
#include <string>
#include <unistd.h>
#include <iterator>
#include <vector>
using namespace std;

int main()
{
    write(1,"\E[H\E[2J",7);                                  
    vector<string> list;
    cout << "Enter UIDs: \n\n"; 
    for(string uid ; cin >> uid && uid != "EXIT"; list.push_back(uid))
        cout << " \n";
    copy(list.begin(), list.end(), ostream_iterator<string>(cout, "\n\n"));
    cout << "Vector size: " << uid.size() << endl;
    return 0;
}

尝试编译时,我收到错误:

g ++ sof.cpp -o sof

  

sof.cpp:在函数'int main()'中:
  sof.cpp:16:32:错误:'uid'的名称查找已更改为ISO'用于'范围'   sof.cpp:13:16:错误:不能在'uid'使用过时的绑定,因为它有一个析构函数

1 个答案:

答案 0 :(得分:4)

您正在查询uid.size()而不是list.size()