--〉都是指针惹得祸,请教一个关于指针的问题
源程序如下所示:
#include <iostream>
#include <vector>
using namespace std;
int ai[8]={8,32,3,13,1,21,5,2};
vector<int> ivec(ai,ai+8);
void display(const vector<int> *ivec)
{
if(!ivec)
{
cerr<<"display():the vector pointer is 0.\n";
exit(-1);
}
for(int ix=0;ix<ivec->size();++ix)
{
cout<<(*ivec)[ix]<<' '<<endl;
}
}
void swap(int ival1,int ival2)
{
int itmp=ival1;
ival2=ival1;
ival1=itmp;
}
void bubble_sort(vector<int> *ivec)
{
for(int ix=0;ix<ivec->size();++ix)
for(int jx=0;jx<ivec->size();++jx)
if(ivec[ix]<ivec[jx])
swap(ivec[ix],ivec[jx]);
}
int main()
{
cout<<"vector before sort:";
display(&ivec);
getchar();
bubble_sort(&ivec);
cout<<"vector after sort:";
display(&ivec);
getchar();
return 0;
}
编译没有问题
但是错误信息确是:
"0x00408314"指令引用"0x00000000"内存。该内存不能为"read"
不解 疑惑
望指教
......