c++ - 当函数签名的名称前有 "&"时,这意味着什么?

标签 c++

int &sum(int numa, int numb)
{
    int sum = 0;
    sum = suma+sumb;
    return sum;
}  

这个函数正确吗?为什么要用&

补充评论: 谢谢你们。但是在我使用 gcc 编译它之后,它出现了一个警告但没有错误。它可以完美运行。还是错了?或者只是一个警告问题? –

最佳答案

& 表示您要返回一个引用。在您的例子中,您将返回对 int 的引用,该引用会在函数返回后立即消失;这是一个严重的错误。

关于c++ - 当函数签名的名称前有 "&"时,这意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4868473/

相关文章:

c++ - 在另一个结构中重载结构的运算符会出错

c++ - cmake:添加要搜索头文件的目录

c++ - 调用函数时没有调用构造函数

c++ - 创建任意大小的多维 vector

c++ - 奇怪的语法构造 - operator () 应用于 typedef 使用 VS2015 成功编译

c++ - 检查字符串是否以另一个字符串 : find or compare? 开头

c++ - 使用 C++ 禁用任务切换键

c++ - 最长公共(public)子串的方法

c++ - std::map 性能 c++

c++ - 将 'const ChartData' 作为 'this' 的 'int ChartData::getHour()' 参数传递会丢弃限定符 [-fpermissive]