用return的时候,如何返回两个结果

 
int a;
void OnStart()
  {
//---
   Print("start");
   a=4;
   a=subsub();
   Print(bb);
  }
//+------------------------------------------------------------------+

double subsub()
{
double aa;
double bb;
   Print("Sub");
   aa=a+3;
   bb=aa*2;
   return(aa);
   
}

如上,我如何返回bb到主程序打印呢?

 

你这个程序看起来有点乱,逻辑上好像有问题,编译应该通不过,不清楚要干什么 :)

据我猜测,可能把 OnStart() 里的最后一句 改成  Print(a);

把 subsub() 里的最后一句改成 return (bb); 

不知道是不是你要的结果。

 
Bruno Yu:

如上,我如何返回bb到主程序打印呢?


通过变量引用:

void OnStart()
  {
//---
   Print("start");
   int aa=4, bb=0;
   subsub(aa, bb);
   PrintFormat("aa=%d, bb=%d",aa,bb);
  }
//+------------------------------------------------------------------+

void subsub(int &aa, int &bb)
{
   Print("Sub");
   aa=aa+3;
   bb=aa*2;   
}
 
Jian Chen:

你这个程序看起来有点乱,逻辑上好像有问题,编译应该通不过,不清楚要干什么 :)

据我猜测,可能把 OnStart() 里的最后一句 改成  Print(a);

把 subsub() 里的最后一句改成 return (bb); 

不知道是不是你要的结果。


哈哈,我乱写的……其实就像把subsub里面的aa,bb都返回到主程序

 
Xiangdong Guo:

通过变量引用:


感谢感谢,非常有用

原因: