制作返回值的void函数

时间:2019-03-14 23:32:30

标签: c++

有人要求我制作一个返回值的void函数。例如,如果我们有类似的东西:

int add(int n, int k){
   return n+k; 
}

现在,由于 void 不返回任何内容,该函数如何返回值?有什么隐藏的方法可以做到这一点:

void add(int n, int k){
   //returning the sum of n and k in a void function
}

还是像我第一次想到的那样不可能?

2 个答案:

答案 0 :(得分:3)

使用输出参数,例如:

*.csproj

或者:

void add(int n, int k, int &result) {
   result = n+k;
}

...

int sum;
add(1, 2, sum);
// use sum as needed...

答案 1 :(得分:3)

根据定义,void函数不可能返回值。在这种情况下,void就是这个意思。

void函数可以通过多种方式将信息传达给调用者:

  • 它可以接受一个指针参数
  • 可以带参考参数
  • 它可以为全局变量(或调用者可见的任何对象)分配一个值

如果要让函数返回值,请不要将其定义为void