(C++)我想取vector容器.begin()后一个元素要怎么做啊?

来源:百度知道 编辑:UC知道 时间:2024/06/05 11:59:41
就是例如:

vector<int> lk;/*假设lk已输入,我想取lk.begin()的下一个元素要怎做

啊?*/
程序:

#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<int> lp;
lp.push_back(1);
lp.push_back(2);
lp.push_back(3);
cout << "lk:" << *(++(lp.begin())) << endl;
return 0;
}

错误信息:

--------------------Configuration: zzzzz - Win32 Debug--------------------
Compiling...
zzaaa.cpp
F:\C++实验文件\zzaaa.cpp(10) : error C2105: '++' needs l-value
Error executing cl.exe.

zzaaa.obj - 1 error(s), 0 warning(s)

//没骗你吧? VC6.0

*( ++( lk.begin() ) )
不能吧,我试了的.

lk.push_back(1);
lk.push_back(2);
lk.push_back(3);
cout << "lk:" << *(++(lk.begin())) << endl;

输出结果是2.

不能吧 你用什么编译器阿,我用的VS2005

木有初始化容器... 你先初始化一下... ++ 需要做左值 或者你改成(lp.begin())++