程序停止运行的问题代码如下,编译通过,停止运行,啥情况,求解答,谢谢#includeiostream.hclass A{public:v
程序停止运行的问题
代码如下,编译通过,停止运行,啥情况,求解答,谢谢
#include<iostream.h>
class A{
public:
void swap(int *i,int *x)
{
int temp;
temp=*i;
*i=*x;
*x=temp;
}
private:
int i;int x;
};
int main()
{ int *m,*n;
*m=2,*n=3;
A a;
A &ra=a;
ra.swap(m,n);
cout<<m<<endl;
cout<<n<<endl;
}
[解决办法]
m和n是指针,没有分配内存给它们。可以这样改:
- C/C++ code
#include<iostream.h> class A{public: void swap(int *i,int *x) { int temp; temp=*i; *i=*x; *x=temp; }private: int i;int x;};int main(){ int m,n; m=2,n=3; A a; A &ra=a; ra.swap( &m, &n ); cout<<m<<endl; cout<<n<<endl; return 0;}
[解决办法]
- C/C++ code
int main(){ int *m = new int; int *n = new int; *m=2,*n=3; A a; A &ra=a; ra.swap(m,n); cout<<*m<<endl; cout<<*n<<endl; return 0;} 