为什么程序总是在运行时出错

Jun2982804 2006-07-20 10:59:40
代码如下:
我在ilist.h中定义了ilist类,并在它的前面声明ilist_item类,然后在它的后面定义ilist_item类
class ilist_item;
class ilist{
public:
ilist() {}
int size();
void insert( ilist_item *ptr, int value );
ilist_item *find( int value );
void display( ostream &os = cout );
void insert_front( int value );
void insert_end( int value );
void remove_front();
void remove_all();
int remove( int value );

private:
ilist( const ilist& );
ilist& operator = ( const ilist& );
void bump_up_size();
void bump_down_size();

int _value;
ilist_item *_next;
ilist_item *_at_front;
ilist_item *_at_end;
int _size;
};

class ilist_item{
public:
ilist_item( int value, ilist_item *item = 0 );
int value() { return _value; }
ilist_item* next() { return _next; }
void next( ilist_item *link ) { _next = link; }
void value( int new_value ) { _value = new_value; }

private:
ilist_item *_next;
int _value;
};

inline ilist_item::ilist_item( int value, ilist_item *item ) : _value( value ){
if( !item ) _next = 0;
else{
_next = item->_next;
item->_next = this;
}
}
在main.cpp中代码如下:
#include "ilist.h"

void main(){
ilist mylist;
}
现在的问题是为什么它总是在运行时exe文件遇到无法处理的异常?
是否因为ilist类与ilist_item类放在同一个文件中?但我试过把它们分开放在不同的文件,但也报错,那我应该怎么改?
...全文
128 4 打赏 收藏 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jun2982804 2006-07-20
  • 打赏
  • 举报
回复
除了指针以外,还有没有其它可能的原因?
syy64 2006-07-20
  • 打赏
  • 举报
回复
指针或对象没有分配空间?
Jun2982804 2006-07-20
  • 打赏
  • 举报
回复
补充:ilist类的函数实现在这里忽略了,每一次运行exe文件,弹出提示:遇到无法处理的异常,按确定以后,总有一个黄色箭头指在ilist_item定义的上一行
hhyytt 2006-07-20
  • 打赏
  • 举报
回复
检查一下指针,看有没有使用错误的.

16,550

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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