VC,MFC为什么赋值不成功?
千辛万苦终于在我做好的MFC中添加了别人的C语言编写的两个.C文件和头文件,经编译没有错误。我需要这两个C文件进行数据计算。我调用Mjd这个C文件里面的变量然后复制变量q...
千辛万苦终于在我做好的MFC中添加了别人的C语言编写的两个.C文件和头文件,经编译没有错误。
我需要这两个C文件进行数据计算。
我调用Mjd这个C文件里面的变量 然后复制变量qq
extern double Mjd;
double qq;
qq = Mjd;
调试这儿时候,可以看到Mjd的值是有的,但qq的值就是赋不进去,=0。。。。why?
Mjd 53107.669409722221
qq 0.00000000000000000
然后如果我直接输出Mjd的值也是0.。。。。求助大牛!!! 展开
我需要这两个C文件进行数据计算。
我调用Mjd这个C文件里面的变量 然后复制变量qq
extern double Mjd;
double qq;
qq = Mjd;
调试这儿时候,可以看到Mjd的值是有的,但qq的值就是赋不进去,=0。。。。why?
Mjd 53107.669409722221
qq 0.00000000000000000
然后如果我直接输出Mjd的值也是0.。。。。求助大牛!!! 展开
展开全部
这代码是没有问题的,如果这时的qq是0,那么Mjd的值一定也是0.
请将调试时的图片发来看一下。
你使用extern字来引用Mjd,那么你的Mjd应该是全局函数,你这里说的C文件是计算用的,你有没有将C实例化后计算了一个值然后再赋给Mjd?如果没有实例化C或调用C中的函数计算,那么你的Mjd的值应该是0
请将调试时的图片发来看一下。
你使用extern字来引用Mjd,那么你的Mjd应该是全局函数,你这里说的C文件是计算用的,你有没有将C实例化后计算了一个值然后再赋给Mjd?如果没有实例化C或调用C中的函数计算,那么你的Mjd的值应该是0
更多追问追答
追问
Mjd是头文件里面声明的一个变量。。所以应该是全局变量吧。。。将C实例化后计算了一个值然后再赋给Mjd 是什么意思?但调试的时候可以看到Mjd的值,就是我问题里面放的那个。。能和你详谈么? 我的qq号472928799
追答
你的C文件是导入的吧。如果使用C中的类或函数来计算,那么要定一个对象或调用C中的函数,通过C中的计算然后才会Mjd有值。
比如,有个文件cal.h及cal.cpp
cal.h中是
class CCal
{
public:
int calsum(int a,int b);
CCal();
virtual ~CCal();
};
cal.cpp文件
int s;
CCal::CCal()
{}
CCal::~CCal()
{}
int CCal::calsum(int a, int b)
{ s=a+b;
return s;}
上述中的s,就是全局变量,但是在这个文件中没有给它赋值,如果你在另外的文件中引用
extern int s;
再输出s那么s也是0,没有计算,所以值就是0.
如果你在引用时,定义一个对象:
CCal a;
a.calsum(5,6);
extern int s;
这样,s就有值了,结果就是11
展开全部
应该就是个更新的问题吧,你说的值没赋进去是看的Edit框中的显示吧?用UpdateData(false);更新一下试试!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你把Mjd声明放到头文件中 试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看看外部变量有没有初始化
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询