标题:这段代码为什么运行有错,求大侠们指点,
只看楼主
lt2201004068
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2012-2-23
结帖率:100%
 问题点数:0 回复次数:2 
这段代码为什么运行有错,求大侠们指点,
#include<iostream>
using namespace std;
#define NULL 0
struct A
{
    int n;
};
struct B
{
    A m;
};

A a;
B *b;

int main()
{
    b=NULL;
    cin>>a.n;
    cout<<a.n<<endl;
    cin>>b->m.n;
    cout<<b->m.n<<endl;
    return 0;
}
2012-04-14 18:16
ab1034982749
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:215
专家分:1185
注 册:2012-4-14
得分:0 
你定义了一个指向B类型的指针p ,但是你没有给它分配内存空间;
在使用p时要给它分配内存,所以把主函数稍微修改 改成:

 int main()
 {
     b=NULL;
     b=new B;
     cin>>a.n;
     cout<<a.n<<endl;
     cin>>b->m.n;
     cout<<b->m.n<<endl;
     delete b;
     return 0;
 }
2012-04-14 18:28
lt2201004068
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2012-2-23
得分:0 
回复 2楼 ab1034982749
谢了,刚开始这样试了,忘记释放内存了,很感谢,
2012-04-14 19:40



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-365794-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.261313 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved