我要晕倒!!!!怎么同时回传多个值?

hawk_yan 2001-02-16 08:17:00
程序如下:
int CStatistic::OnCompareDatabase(LPBYTE pLotteryNumbuf,UINT iBeyond,int iFirstLotteryList,int iSecondLotteryList,int iFinalCompareResult)
{
int i,m,j,k;
int itempCompareResult = 0;
.....
.....
.....
iFinalCompareResult = itempCompareResult;
iFirstLotteryList = i;
iSecondLotteryList = m;
itempCompareResult = 0;
//return irstLotteryList,iSecondLotteryList,iFinalCompareResult;
}

void CDialongDataCompare::OnButtoncomparedata()
{
// TODO: Add your control notification handler code here
m_pStatistic->OnCompareDatabase(m_pView->m_LotteryDataBuf,
m_pView->m_iBeyond,
m_iFirstLotteryList,
m_iSecondLotteryList,
m_iFinalCompareResult);

m_strDataCompareResult.Format("第%d期与第%d期的重号数为%d",
m_iFirstLotteryList,
m_iSecondLotteryList
,m_iFinalCompareResult);
UpdateData(FALSE);
}

运行结果为 "第0期与第0期的重号数为0"。即是这几个整形变量的初始化值。为什么这三个变量的值传不回来?
如果我改用
int CStatistic::OnCompareDatabase(LPBYTE pLotteryNumbuf,UINT iBeyond,int iFirstLotteryList,int iSecondLotteryList,int iFinalCompareResult)
{
int i,m,j,k;
int itempCompareResult = 0;
.....
.....
.....
iFinalCompareResult = itempCompareResult;
iFirstLotteryList = i;
iSecondLotteryList = m;
itempCompareResult = 0;
return irstLotteryList;
}

void CDialongDataCompare::OnButtoncomparedata()
{
// TODO: Add your control notification handler code here
m_iFirstLotteryList = m_pStatistic->OnCompareDatabase(
m_pView->m_LotteryDataBuf,
m_pView->m_iBeyond,
m_iFirstLotteryList,
m_iSecondLotteryList,
m_iFinalCompareResult);

m_strDataCompareResult.Format("第%d期与第%d期的重号数为%d",
m_iFirstLotteryList,
m_iSecondLotteryList
,m_iFinalCompareResult);
UpdateData(FALSE);
}
那样只能传回一个值,怎样同时传回多个值?
请大虾们指教。
...全文
216 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
wooingcn 2001-02-17
  • 打赏
  • 举报
回复
用结构呀.返回一个struct.再用struct 接收
hawk_yan 2001-02-17
  • 打赏
  • 举报
回复
多谢各位程序员指点.
TO liege:我不是程序员,只不过是一个爱好者.所以基础当然要差一点.正因为如此我才要经常来这里,效率比自己翻书要高的多
alphapaopao 2001-02-17
  • 打赏
  • 举报
回复
typedef struct tagRET_STRUCT{
int a;
int b;
int c;
}RET_STRUCT;

RET_STRUCT FunctionDo_Something(...)
{
RET_STRUCT ret_s;
ret_s.a = ...;
ret_s.b = ....;

return ret_s;
}

:-)
iamwjp 2001-02-17
  • 打赏
  • 举报
回复
把参数全部设为指针,并在函数中进行操作,当函数返回时,指针参数所代表的值都是处理过后需要的。
liege 2001-02-16
  • 打赏
  • 举报
回复


现在的程序员呀,基础呀
feiyunge 2001-02-16
  • 打赏
  • 举报
回复
用指针传送就可以嘛
hawk_yan 2001-02-16
  • 打赏
  • 举报
回复
多谢各位指点,看来又得回去复习C++的语法了。回头给分。
yuky 2001-02-16
  • 打赏
  • 举报
回复
用全局变量或实参
沒有名字 2001-02-16
  • 打赏
  • 举报
回复
包在一个结构里也可啊
yuky 2001-02-16
  • 打赏
  • 举报
回复
用全局变量或实参
stzhou 2001-02-16
  • 打赏
  • 举报
回复
如果你要让参数带回函数中的值,那参数就必须是引用或者指针类型的,像楼上说的那样。
像你那样用只会在函数中形成参数的拷贝,函数只对拷贝进行赋值操作,返回后参数当然没有变化了
bzshow 2001-02-16
  • 打赏
  • 举报
回复
用引用&就可以了呀  例 foo(int &i,int &j,int &k) 不就可以了。

用指針也可以呀。

16,551

社区成员

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

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

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