如何编写一个能返回多个值的函数?

renzhm 2001-04-14 12:49:00
我曾问过类似的问题,没有很好的解释,
http://www.csdn.net/expert/TopicView.asp?id=94419 这个问题还悬而未解.
刚刚从Delphi转入CB,给点信心吧(解决问题是最好的方法),分数不是问题,回答过
我的问题的大虾都知道-绝对守信义.
...全文
149 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
rh 2001-04-14
  • 打赏
  • 举报
回复
最简单的方法,返回一个结构引用或指针
你需要返回的几个数据,作为结构的成员传递
renzhm 2001-04-14
  • 打赏
  • 举报
回复
问题解决,马上给分.(20分的问题只能问到这儿了)
特别感谢Wingsun(孙春阳),总是不厌其烦的给与解答,几乎我的所有CB问题.
再次表示感谢!
BCB 2001-04-14
  • 打赏
  • 举报
回复
要注意:返回结构是可以的,因为这是结构的复制品,
但若返回数组、指针或结构的指针,都是危险的,因为指针所指向的
单元很可能随着函数或过程的结束一起释放掉了,除非是动态申请的单
元!

BCB 2001-04-14
  • 打赏
  • 举报
回复
AnsiString *a,*b;

-------
Edit1->Text= *a;
renzhm 2001-04-14
  • 打赏
  • 举报
回复
我要赋值如何?
AnsiString * a;
AnsiString * b;
MyFunction(aa,a,b);
Edit1->text=?//a,or b


rh 2001-04-14
  • 打赏
  • 举报
回复
照 Wingsun(孙春阳) 老大的做,如果是c++还可以这样:
void MyFunction(ParamType Param1,ParamType ¶m2,ParamType ¶m3)
{
Param2=SomeValue;
Param3=SomeValue;
return;
}
这儿,Param2和Param3都是可以返回数据的.


返回结构不用多说了吧?
比如有一个struct aaa
你函数定义的时候
struct *func();
struct &func();
都可以啊。
这里要注意的就是变量生存期问题~_~
holyfire 2001-04-14
  • 打赏
  • 举报
回复
应该是
*Param2=SomeValue;
*Param3=SomeValue;
Wingsun 2001-04-14
  • 打赏
  • 举报
回复
这个问题啊,如果是C的话就这样做
void MyFunction(ParamType Param1,ParamType * Param2,ParamType * Param3)
{
Param2=SomeValue;
Param3=SomeValue;
return;
}
这儿,Param2和Param3都是可以返回数据的.
aningstar 2001-04-14
  • 打赏
  • 举报
回复
一个不好的方法是,返回全局变量,此乃下策,但最容易
要么返回指针,例子
char * test(int a)
{char a[256];
if(a==1)
return a;
}
然后。。。。。
当然rh(我悲我哭,我号我歌;无用书生,奈何奈何)的方法很对
也可以用多个引用参数,
renzhm 2001-04-14
  • 打赏
  • 举报
回复
能否给个例子看看?

13,873

社区成员

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

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