读书人

C++中一个返回值付值有关问题

发布时间: 2012-03-13 11:21:11 作者: rapoo

C++中一个返回值付值问题
我声明:
Graphics::TBitmap *pSFile;
在读取一个BMP文件后,想将BMP文件的大小做个比较:
TRect paintboxbound2;
paintboxbound2.right = ((PaintBox1-> Height)/(pSFile-> Height))*(pSFile-> Width);
最后一句通不过编译,不知道怎么回事。
我查找了pSFile-> Width的原型为:__property int Width = {read=GetWidth, write=SetWidth, default=1};
是一个返回int的函数啊,为什么不能拿来做运算呢?
后来我又试着将这个值付给一个整数还是不行。
但是将PaintBox的Width就可以附值给一个整数,为什么呢?


[解决办法]
你的代码把我们都弄得有点晕晕的!

paintboxbound2.right = ((PaintBox1-> Height)/(pSFile-> Height))*(pSFile-> Width);
之前加上两句
assert(PaintBox1 != NULL);
assert(pSFile != NULL);
看看哪个报错就行了
记得前面要#include <assert.h>
[解决办法]
因为在你clickbuttom前,PaintBox就paint了

读书人网 >C++

热点推荐