为什么调用这个函数失败,怎么改正?
void __fastcall TForm1::Button1Click(TObject *Sender)
{
DWORD *Free;
DWORD *Total;
int i;
if(GetDiskFreeSpace(NULL,NULL,NULL,Free,Total))
{
Edit1->Text=IntToStr(*Free);
Edit2->Text=IntToStr(*Total);
}
else
{
ShowMessage("Error");
}
}
问题点数:10、回复次数:7Top
1 楼kingfish(工作很忙,很少来csdn...)回复于 2001-11-29 15:40:03 得分 2
DWORD Free;
DWORD Total;
int i;
if(GetDiskFreeSpace(NULL,NULL,NULL,&Free,&Total))
{
Edit1->Text=IntToStr(Free);
Edit2->Text=IntToStr(Total);
}
else
{
ShowMessage("Error");
}Top
2 楼huang_2(叽叽喳喳)回复于 2001-11-29 15:44:01 得分 0
为什么用声明指针的方法就不行?Top
3 楼lluohongg(朝夕)回复于 2001-11-29 15:58:07 得分 2
也想知道Top
4 楼BCB(天下三分明月夜,二分无赖是扬州)回复于 2001-11-29 16:29:13 得分 2
光声明指针怎行,它指向的空间并不存在,所以出错.
DWORD *Free;
DWORD *Total;
Free=new DWORD;
Total=new DWORD;
这样就不会出错了,当然用完后还要 delete Free; delete Total;
所以更麻烦了;
Top
5 楼huang_2(叽叽喳喳)回复于 2001-11-29 16:45:02 得分 2
哦Top
6 楼conanbos(vincent)回复于 2001-11-29 17:31:25 得分 2
BCB说的对,这样的指针根本没有实际的地址,怎么用呀,我已经前也有过这种问题。看来HUANG还是入门不长吧,哈哈,大家一进步吧。Top
7 楼jq_song(饽饽)回复于 2001-11-29 17:38:16 得分 0
哈哈,大家一进步吧,还需努力!Top




