使用输入参数作为输出

时间:2014-12-09 22:44:24

标签: c++ function

我的问题是: 我看到(在CUDA示例中)可以使用函数的一个输入参数作为输出变量。示例:添加两个整数,c = a + b:

void function AddT(int a,int b,int c){
   c=a+b;
}

但这不起作用。该函数不会改变主程序中c的值。我可以修复谁并允许函数更改c的值?

1 个答案:

答案 0 :(得分:3)

通过引用传递变量c。

void function AddT(int a, int b, int& c)
{
    c = a + b;
}

这将使得即使在函数结束后,您在函数中对c进行的任何更改也将保留。我的措辞很差劲;你可以在这里查看更多信息:

Pass by Reference / Value in C++

What's the difference between passing by reference vs. passing by value?