| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 708 人关注过本帖
标题:[求助]调用基类方法时发生段错误
只看楼主 加入收藏
zhaofine
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-4-4
收藏
 问题点数:0 回复次数:2 
[求助]调用基类方法时发生段错误
基类为

我定义了如下方法:
void CBaseFrame::Initialize(){
}
构造函数为:
CBaseFrame::CBaseFrame(CFrameTemplate *lpFrameTemplate, const string sFrameName, FIELDTYPE fieldType){
this->m_lpFrameTemplate = lpFrameTemplate;
this->m_sFrameName = sFrameName;
this->m_fieldType = fieldType;
//初始化参数。
this->Initialize();
}

继承类为CFrameBody : public CBaseFrame
构造函数为:
CFrameBody::CFrameBody(CFrameTemplate *lpFrameTemplate, const string sFrameName) :
CBaseFrame(lpFrameTemplate, sFrameName, CFrameTemplate::FRAME_BODY)
{
}

当我用CFrameBody new一个对象时,在运行中发生如下错误:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1207974224 (LWP 10372)]
0x08059e6f in CBaseFrame::Initialize ()

我使用的操作系统为HP Linux,编译器为gcc 3.2.3。

我不知道为什么在调用CBaseFrame:Initialize()时发生错误,急救,我已经折腾很久了。

搜索更多相关主题的帖子: 基类 
2006-04-04 11:24
柳儿
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:1830
专家分:30
注 册:2004-9-23
收藏
得分:0 
尝试不用this,直接为
CBaseFrame::CBaseFrame(CFrameTemplate *lpFrameTemplate, const string sFrameName, FIELDTYPE fieldType){
m_lpFrameTemplate = lpFrameTemplate;
m_sFrameName = sFrameName;
m_fieldType = fieldType;
//初始化参数。
Initialize();
}

成功会使人骄傲。如果你骄傲自大,你就会停止学习。不学习,人就停止了进步
2006-04-04 14:51
zhaofine
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-4-4
收藏
得分:0 

谢谢,问题已经解决了,但不是这个原因。是我马虎出现的问题。该问题出现在Initialize()中,且在本帖中被我忽略未列出。

2006-04-04 14:56
快速回复:[求助]调用基类方法时发生段错误
数据加载中...
 
   



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

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