C++ vector 向量中的泛型指针问题求大侠解答
我看到书上有个例子,在把它输入编译器(vs2010)中执行就会报错,后来检查主要问题在下面代码注释部分,请问大侠是什么原因造成,如果要正确正向和逆向输出该怎么改?#inc...
我看到书上有个例子,在把它输入编译器(vs2010)中执行就会报错,后来检查主要问题在下面代码注释部分,请问大侠是什么原因造成,如果要正确正向和逆向输出该怎么改?
#include<iostream>
#include<vector>
#include<iterator>
using namespace std;
void main()
{
char st[13]="abcdefghij ";
vector<char>a(st,st+10);
vector<char>::iterator p;
vector<char>::reverse_iterator ps;
for(p=a.begin();p!=a.end();++p)
cout<<*p<<" ";
cout<<endl;
for(p=a.end()-1;p!=a.begin()-1;--p) ///////////》》》》》》》for循环中间的判断在编译器中可以通过编译,但是执行时会弹对话框报错(对话框如下图片),但是如果去掉,在逆向输出又少输出一个a。
cout<<*p<<" ";
cout<<endl;
for(ps=a.rbegin();ps!=a.rend();++ps)
cout<<*ps<<" ";
cout<<endl;
for(--ps;ps!=a.rbegin()-1;--ps) ///////》》》》》与上面的注释一样。
cout<<*ps<<" ";
} 展开
#include<iostream>
#include<vector>
#include<iterator>
using namespace std;
void main()
{
char st[13]="abcdefghij ";
vector<char>a(st,st+10);
vector<char>::iterator p;
vector<char>::reverse_iterator ps;
for(p=a.begin();p!=a.end();++p)
cout<<*p<<" ";
cout<<endl;
for(p=a.end()-1;p!=a.begin()-1;--p) ///////////》》》》》》》for循环中间的判断在编译器中可以通过编译,但是执行时会弹对话框报错(对话框如下图片),但是如果去掉,在逆向输出又少输出一个a。
cout<<*p<<" ";
cout<<endl;
for(ps=a.rbegin();ps!=a.rend();++ps)
cout<<*ps<<" ";
cout<<endl;
for(--ps;ps!=a.rbegin()-1;--ps) ///////》》》》》与上面的注释一样。
cout<<*ps<<" ";
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询