制作返回值的空隙函数

Making a void function that returns a value

本文关键字:函数 返回值      更新时间:2023-10-16

我被要求制作一个返回值的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
}

否则这是我第一次想到的?

是不可能的

使用输出参数,例如:

void add(int n, int k, int &result) {
   result = n+k;
}
...
int sum;
add(1, 2, sum);
// use sum as needed...

或:

void add(int n, int k, int *result) {
   *result = n+k;
}
...
int sum;
add(1, 2, &sum);
// use sum as needed...

根据定义,void函数无法返回值。这就是void在这种情况下的意思。

void功能可以通过多种方式将信息传达给其呼叫者:

  • 可以采用指针参数
  • 它可以采用参考参数
  • 它可以为全局变量(或呼叫者可见的任何对象)分配值

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