关于函数输出的问题

killeveryone 2003-12-04 08:58:38
偶比较笨啦,写一个函数想返回多个参数,但是怎么都不可以.
function test(str1:string;var str2,str3:string):string;
begin
result:=str1;
str2:=str1+'test1';
str3:=str1+'test2';
end;
偶在调用后,想得到str3的值.就是得不到.但是str2就可以得到.
...全文
41 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
killeveryone 2003-12-04
  • 打赏
  • 举报
回复
function test(str1:string;var str2:integer;str3:string):string;
begin
result:=str1;
str2:=1;
str3:=str1+'test2';
end;

第一个输出参数为:integer类型的.
如果都是string的就可以输出.

这样怎么就不可以呢?
killeveryone 2003-12-04
  • 打赏
  • 举报
回复
奇怪现在又可以了,什么都没有动呀
Dlwxn 2003-12-04
  • 打赏
  • 举报
回复
具体讨论看这个帖子:
http://expert.csdn.net/Expert/topic/2402/2402267.xml?temp=.9883386
Dlwxn 2003-12-04
  • 打赏
  • 举报
回复
1FCSOFT(程序员)

如果把test(Str2,str2,str3);改为
Str3:=test(Str2,str2,str3); 结果还是'wewe'
函数test并没有返回两个值.
LunTanZeng 2003-12-04
  • 打赏
  • 举报
回复
站一个一楼!!
1FCSOFT 2003-12-04
  • 打赏
  • 举报
回复
procedure TForm1.Button1Click(Sender: TObject);
var str2,str3:string;
function test(str1:string;var str2,str3:string):string;
begin
result:=str1;
str2:=str1+'test1';
str3:=str1+'test2';
end;
begin
str2:='wewe';
Str3:='erer';
test(Str2,str2,str3);
showmessage(Str3);
end;
我看好着呢,我用delphi7.0编译测试

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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