程序停止运行的问题

iaifeini 2012-10-16 01:55:17
代码如下,编译通过,停止运行,啥情况,求解答,谢谢
#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;
}
...全文
95 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
HAN-Kai 2012-10-16
  • 打赏
  • 举报
回复
#include<iostream>
using namespace std;
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 x=2,y=3;
int* m=&x;//初始化指针
int* n=&y;//初始化指针
A a;
A &ra=a;
ra.swap( m, n );//传递指针
cout<<*m<<endl;//打印值,如果cout<<m<<endl;则是打印地址。
cout<<*n<<endl;//打印值
return 0;
}
iaifeini 2012-10-16
  • 打赏
  • 举报
回复
对啊,我咋忘了,昨天才看见的,谢谢了[Quote=引用 4 楼 的回复:]

忘了delete了。
[/Quote]
zjs100901 2012-10-16
  • 打赏
  • 举报
回复
忘了delete了。
zjs100901 2012-10-16
  • 打赏
  • 举报
回复
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;
}
iaifeini 2012-10-16
  • 打赏
  • 举报
回复
你这个引用的写法我知道,如果想用指针该怎么写呢,帮帮忙吧[Quote=引用 1 楼 的回复:]

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:
i……
[/Quote]
zjs100901 2012-10-16
  • 打赏
  • 举报
回复
m和n是指针,没有分配内存给它们。可以这样改:
#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;
}

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧