注册 登录
编程论坛 C++教室

求教,帮忙看下

fxbszj 发布于 2012-10-11 15:21, 266 次点击
for(vector<string>::size_type si=0;si!=*vecs.size();si++)
我的代码中编译总提示这段错误,
vecs是vector<string>类型,
我用vector<string>::iterator的方式循环找vector中的每个元素(要求是用这个循环)
*vecs不就是表示当前当前循环所在的string元素,我想*vecs.size()就可以查看该string类型元素的长度了,可是为什么总是在这段报错,是不是指针的方式不能用size()函数呢?

求高手指教,谢谢
1 回复
#2
rjsp2012-10-11 15:41
前言不搭后语,我写个demo给你参考一下
程序代码:
#include <iostream>
#include <string>
#include <vector>
using namespace std;

int main()
{
    vector<string> vecs;
    vecs.push_back( "0" );
    vecs.push_back( "1" );
    vecs.push_back( "2" );

    for( vector<string>::size_type si=0; si!=vecs.size(); ++si )
    {
        cout << vecs[si] << '\t';
    }
    cout << endl;

    for( vector<string>::iterator si=vecs.begin(); si!=vecs.end(); ++si )
    {
        cout << *si << '\t';
    }
    cout << endl;

    return 0;
}

1