当返回函数的零时量的引用的时候就会出现这种情况。

3.cc: In function ‘const string& add_(const string&, const string&, const string&)’:
3.cc:6:12: warning: reference to local variable ‘s’ returned [-Wreturn-local-addr]
     string s = s1;
例如:

#include <iostream>
#include <string>
using namespace std;
const string &  add_(const string &s1,const string & pre,const string & behind){string s = s1;    s.insert(0,pre);s.append(behind);return s;}
int main()
{string name  = "robert";string pre = "Mr.";string hi = "Jr.";string new_name = add_(name,pre,hi);cout << new_name << endl;return 0;
}

编译结果是:

r@r-Sys:~/c++/ex$ g++ 3.cc -o 123
3.cc: In function ‘const string& add_(const string&, const string&, const string&)’:
3.cc:6:12: warning: reference to local variable ‘s’ returned [-Wreturn-local-addr]string s = s1;^

错误分析:

c++函数在结束的时候会销毁零时量,函数返回零时量的引用就当然错误了。因为它已经被销毁,所以,它的引用也就没有什么含义了。

c++ 错误: reference to local variable ‘...’ returned相关推荐

  1. “The local variable XXX may not have been initialized”

    "The local variable XXX may not have been initialized" 翻译一下就是:局部变量XXX可能尚未初始化 在文件中的操作是: dou ...

  2. python UnboundLocalError: local variable 'log_f' referenced before assignment 错误

    在写一个python程序,用finally处理异常的时候,报了"UnboundLocalError: local variable 'log_f' referenced before ass ...

  3. python 错误--UnboundLocalError: local variable '**' referenced before assignment

    1 val = 9 2 def test(flag): 3 if flag: 4 val = 1 5 else: 6 print("test") 7 return val 8 9 ...

  4. local variable ‘x‘ referenced before assignment错误

    前言:报local variable 'x' referenced before assignment错误 通常是两种原因: 一是函数试图修改全局变量: 二是内部函数试图修改外部函数变量. 先介绍两个 ...

  5. C—— warning: function returns address of local variable(函数参数返回错误)

    在linux写结构体时遇到一个警告 hw_vote_struct_pint_func_arry.c:53:9: warning: function returns address of local v ...

  6. warning: function returns address of local variable(函数参数返回错误)

    代码: 从函数返回数组时,发出警告warning: function returns address of local variable 警告原因: 局部变量只有在所在函数被调用时才动态地为变量分配存 ...

  7. python 错误--UnboundLocalError: local variable 'num' referenced before assignment

    val = 9 def test(flag): if flag: val = 1 else: print("test") return val if __name__ == '__ ...

  8. UnboundLocalError: local variable ‘XXX‘ referenced before assignment解决办法

    一.举例: 计算a到10的和 sum=0 def func(a):while a<=10:sum+=aa+=1return sum print(func(9)) 运行结果: UnboundLoc ...

  9. pycharm 报黄(黄字、黄色)警告 Local variable 'xxx' might be referenced before assignment

    文章目录 警告描述 解决办法 解决方法1:去掉判断语句if(这种方式太粗暴,且大多数不符合应用场景情况) 解决办法2:事先为x赋初始值 解决办法3:if后加else,必定要对x赋值 警告描述 黄字警告 ...

最新文章

  1. pcb 理论阻值、 过孔_射频电路PCB设计的困境和改善措施
  2. 我的机器学习入门之路(上)——传统机器学习
  3. quot;《 Serial Drivers 》by Alessandro Rubiniquot; 学习笔记
  4. 多选Select排序
  5. 深度学习常见概念解析
  6. Asterisk权威指南/第二章 Asterisk架构
  7. 利用Cache防止同一帐号重复登录
  8. solidity数据位置-memory,storage和calldata
  9. 用友nc操作手册_铁军人物汤轩宇, 入职两年,她用努力和汗水编制出单户试算操作手册...
  10. FPGA Marvell 88exxxx phy 动起来
  11. 计算机网络技术ui设计,UI设计小白到大神的进阶之路—入门基础篇
  12. jersey文件服务器,通过jersey实现客户端图片上传
  13. ubuntu18.04下安装微信不能发图片和文件
  14. vn.py源码解读(八、回测结果计算代码解析)
  15. 文件上传数据库,并下载(包含删除,根据条线查询等功能)
  16. NetBackup 8.2 LinuxR Oracle脚本备份
  17. 堡垒机的主要功能是什么?为什么需要堡垒机?
  18. 未封装的扩展程序是什么意思_网线上面的标识代表什么意思?网线的九大扩展应用...
  19. 区块链 - 展望2022年元宇宙会呈现哪些趋势?
  20. 以太坊开发(一)——Truffle和Ganache

热门文章

  1. ajax async
  2. 文本转换成htmldocument
  3. Server.UrlEncode、HttpUtility.UrlDecode不同编码
  4. 复选框 全选 全不选 反选 实现
  5. dnscat2搭建dns隧道
  6. oracle参数文件initorcl位置,oracle 参数文件详解
  7. [译] APT分析报告:10.Lazarus以ThreatNeedle家族攻击工业事件还原(BMP图片隐藏RAT)
  8. C# 文件操作之创建文件夹
  9. iOS之深入解析内存管理Tagged Pointer的底层原理
  10. iOS之深入解析“锁”的底层原理