及其怪异的现象:类之间部分数据无法传递!

north00 2008-04-11 11:24:59
请教高手,程序一个小时前好好的,突然间两个类之间的部分数据无法传递!
类A中的数据在类B中只看得到部分数据,其他的都是负很大的数

请教高手有什么样的原因会导致这种不怪异情况发生?

谢谢~
...全文
67 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
milaoshu2 2008-04-16
  • 打赏
  • 举报
回复
初始化有问题
Eleven 2008-04-16
  • 打赏
  • 举报
回复
这两句没有看出什么问题来!
菜牛 2008-04-16
  • 打赏
  • 举报
回复
如果只是这两句代码,无论如何也是不会错的。估计实际代码不是这个样子,或者构造函数有什么猫腻。
north00 2008-04-15
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 north00 的回复:]


在其他类的函数中调用:

CFirst first;

float b=first.a; //first.a在CFirst 析构之前断点发现都正确,但是死活传不了给b
[/Quote]

为什么我在其他类中这样写:

CFirst* first=new CFirst;

float b=first->a;

first->a能正确显示结果,但是不能将值赋给b了??

请高手解释一下啊??
north00 2008-04-15
  • 打赏
  • 举报
回复


在其他类的函数中调用:

CFirst first;

float b=first.a; //first.a在CFirst 析构之前断点发现都正确,但是死活传不了给b



菜牛 2008-04-15
  • 打赏
  • 举报
回复
我想楼主你先搞清楚类和对象的概念和区别,这样有助于描述问题。另外也可贴部分代码。因为除了你没有正确理解变量作用域的原因外,一般都是代码有错误了。
north00 2008-04-15
  • 打赏
  • 举报
回复
TO:arong1234
兄弟能清楚点嘛?先谢了,我不在行调试,用add watch发现不了什么时候内容被修改了,在这个类结束之前数据都是正确的。。。
arong1234 2008-04-15
  • 打赏
  • 举报
回复
需要单步跟踪看看啥代码修改了他们得内容
还有就是代码走查
[Quote=引用 5 楼 north00 的回复:]
请教应该如何检查这个错误??
[/Quote]
north00 2008-04-15
  • 打赏
  • 举报
回复
断点调试发现:在类A中运行结束后已经产生了结果,当在类B中就是取不到值!! 并且这个时候查看类A中的结果还在那里!!!
north00 2008-04-15
  • 打赏
  • 举报
回复
请教应该如何检查这个错误??
Cricketol 2008-04-12
  • 打赏
  • 举报
回复
看具体代码才能做出准确判断
hdqqq 2008-04-12
  • 打赏
  • 举报
回复
可能是内存存取越界,导致类数据被意外修改。
Hiiishe 2008-04-12
  • 打赏
  • 举报
回复
“其他的都是负很大的数” ,可能此类中你说的“其他”成员变没有被赋过值或初始化。
  • 打赏
  • 举报
回复
越界覆盖了吧

16,472

社区成员

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

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

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