小标
2019-03-01
来源 :
阅读 2058
评论 0
摘要:本文主要向大家介绍了 C/C++知识点之C++11智能指针和引用,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。
本文主要向大家介绍了 C/C++知识点之C++11智能指针和引用,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。

最近在学习课程的时候发现一个很困惑的问题,上代码
class DataHeader;
class LoginResult:public DataHeader;
typedef std::shared_ptr<DataHeader> DataHeaerPtr;
//原型
void addSendTask(ClientSocketPtr& pClient, DataHeaderPtr& header)
//未报错调用
DataHeaderPtr ret = std::make_shared<LoginResult>();
pCellServer->addSendTask(pClient, ret);
//报错调用
auto ret = std::make_shared<LoginResult>();
pCellServer->addSendTask(pClient, (DataHeaderPtr)ret);
#错误代码:(DataHeaderPtr)ret
错误类型:
非常量引用的初始值必须为左值。
测试环境为vc2017。
疑问:
学习的电子课件中为vc2013,这里并不会报错。在vc2017导入课件中的源码这里也不会报错。这是什么原因????????????
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言C/C+频道!
喜欢 | 0
不喜欢 | 0
您输入的评论内容中包含违禁敏感词
我知道了

请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号