引用的问题

castlooo 2008-08-06 10:15:31
//---------------------------------------------------------------------------

#pragma hdrstop

//---------------------------------------------------------------------------
#include <iostream>

#pragma argsused
class TComputeNum
{
private :
int _mNum; //主表计数
int _dNum ; //子表计数

int __fastcall getmNum()
{
return _mNum;
}
void __fastcall setmNum(int i)
{
_mNum = i;
}
int __fastcall getdNum()
{
return _dNum;
}
void __fastcall setdNum(int i)
{
_dNum = i;
}
public:
__fastcall TComputeNum()
{
_mNum = 0;
_dNum = 0;
}
__property int mNum = {read= getmNum,write =setmNum};
__property int dNum = {read = getdNum,write = setdNum};
};
void __fastcall RefClass(TComputeNum& aNum)
{
aNum.mNum= 5;
aNum.dNum = 6;
}
int main(int argc, char* argv[])
{
TComputeNum *aNum = new TComputeNum();
RefClass(&aNum);
std::cout<<aNum->mNum<<std::endl;
return 0;
}
//---------------------------------------------------------------------------
...全文
76 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
tangx100 2008-08-07
  • 打赏
  • 举报
回复
RefClass(*aNum);
jxw1987628 2008-08-06
  • 打赏
  • 举报
回复


RefClass(&aNum); -------------> RefClass(*aNum);
leeicescri 2008-08-06
  • 打赏
  • 举报
回复
改成RefClass(*aNum);
meimeizsq 2008-08-06
  • 打赏
  • 举报
回复
RefClass(&aNum); 是引用
函数调用应该是
RefClass(*aNum);

或者你把你的引用改成指针参数
void __fastcall RefClass(TComputeNum* aNum)
{
aNum->mNum= 5;
aNum->dNum = 6;
}
调用是 RefClass(aNum);
whomin 2008-08-06
  • 打赏
  • 举报
回复
RefClass(&aNum);
错了,应该是
RefClass(*aNum);
castlooo 2008-08-06
  • 打赏
  • 举报
回复
[C++ Warning] Unit1.cpp(48): W8030 Temporary used for parameter 'aNum' in call to '_fastcall RefClass(TComputeNum &)'
[C++ Error] Unit1.cpp(48): E2064 Cannot initialize 'TComputeNum &' with 'TComputeNum * *'
[C++ Error] Unit1.cpp(48): E2064 Cannot initialize 'TComputeNum &' with 'TComputeNum * *'

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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