我的类成员有问题吗?怎么不能返回正确的值?

Zhentiwei 2007-04-12 11:09:58
class A
{
public:
void WorkUnit();
FaceList getFaceList();
private:
FaceList FL;
};
void WorkUnit()
{
FaceList fl;
...........
这里我给fl赋值
...........
FL=fl;
...........
这里可以看见fl已经正确地连在了FL上了(我在调试时看的)
}
FaceList getFaceList()
{
return FL; //这里怎么不能正确的返回FL的值啊?
//明明我是赋值了啊?

}
...全文
242 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Zhentiwei 2007-04-17
  • 打赏
  • 举报
回复
abuseyoudna1981()
说的有道理。
是我的C++基础知识不够扎实。
多谢大家的关注!
Zhentiwei 2007-04-13
  • 打赏
  • 举报
回复
//-----------------------------------------
执行完构造函数后fl就不存在了,也就是说你的FL指向了一个非法地址
//--------------------------------------------------------
不是啊,我是看到了FL指向fl的指针了。
代码有点乱,我这样说一下吧:
FL是个链表,fl也是链表。
FL是由6个面连起来的,有7个节点(第一个是头节点),fl 也是链表,他连了12个面,有13个节点(有头节点)。
fl=fl->next;去掉头节点。(第0个节点我去掉了)
我是看到FL连了fl的1到12个节点的。而且,我可以读FL的前面19个节点(本来是7+13=20,我去掉了一个节点),只是最后一个节点的值被修改了。
如果说FL指向了一个非法地址,那FL后面的值就看不见了啊?
//---------------将新生成的面表fl 连到FL后面----------------
temp=FL->next;
while(temp->next)
temp=temp->next;
fl=fl->next; //去掉fl的头节点
temp->next =fl;
//--------------------------------------------------------------
我是这样在void A:WorkUnit()里面写的.
abuseyoudna1981 2007-04-12
  • 打赏
  • 举报
回复
void WorkUnit()
{
FaceList fl;
...........
这里我给fl赋值
...........
FL=fl;
...........
这里可以看见fl已经正确地连在了FL上了(我在调试时看的)
}
FaceList getFaceList()
{
return FL; //这里怎么不能正确的返回FL的值啊?
//明明我是赋值了啊?

}


//-----------------------------------------
执行完构造函数后fl就不存在了,也就是说你的FL指向了一个非法地址.
Zhentiwei 2007-04-12
  • 打赏
  • 举报
回复
void A::WorkUnit()
{
}

FaceList A::getFaceList()
{
return FL;
}

是的,我是像这样写的。
WorkUnit在getFaceList之前调用了。
我的FL是链表,我可以获得链表的前面一部分,不能获得他的全部。
自定义的FaceList是指针,我是赋值指针地址的。
菜牛 2007-04-12
  • 打赏
  • 举报
回复
你这个自定义的FaceList类型,是否支持赋值操作符和复制构造函数?你在WorkUnit里面为什么不直接给FL成员赋值而要通过另外一个变量?
yulefox 2007-04-12
  • 打赏
  • 举报
回复
void A::WorkUnit()
{
}

FaceListA::getFaceList()
{
return FL;
}

你是怎么编译通过的??????
作用域、A的实例化,WorkUnit还必须在getFaceList之前调用。
robin_yao 2007-04-12
  • 打赏
  • 举报
回复
还有你的
void WorkUnit();
函数是在FaceList getFaceList()前执行了吗?
robin_yao 2007-04-12
  • 打赏
  • 举报
回复
不会吧,顶.
你是怎么创建和使用class A的实例的?

16,470

社区成员

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

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

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