【Bug记录】operator->返回类型错误导致operator->调用不了

简介: 【Bug记录】operator->返回类型错误导致operator->调用不了

项目场景:

模拟list,出现operator->调用不了的情况,这是什么情况呢???


问题描述

这里我是明确写了operator->函数的:

但是却有下面报错:

原因分析:

这里有个前置知识:operator->的调用逻辑是,先访问operator->()函数拿到对应val值的地址,再拿着这个拿到的地址对这个地址->成员变量

如果此时返回值类型是T&,那么operator->就不能->成员变量了!因为能->成员变量的前提得是一个指针/地址。

这里碰巧我就写错了一个字符:


解决方案:

只需要把T&改为T*即可。


EOF

相关文章
|
9月前
|
存储 算法 编译器
【C++ 函数尾部返回】C++中的尾返回类型:探究auto func() -> ReturnType的魔力
【C++ 函数尾部返回】C++中的尾返回类型:探究auto func() -> ReturnType的魔力
287 1
|
6月前
|
编译器
【Bug记录】list模拟实现const迭代器类
【Bug记录】list模拟实现const迭代器类
|
6月前
【Bug记录】模板生成错误:不属于vector的成员
【Bug记录】模板生成错误:不属于vector的成员
|
编译器 程序员 Go
Go指针VS值的方法规则
Go指针VS值的方法规则
|
存储 Web App开发 安全
检查 malloc 函数返回内容的四个理由
检查 malloc 函数返回内容的四个理由
|
存储 算法 NoSQL
实战:第十九章:存入Long类型对象,在代码中使用Long类型接收,结果报类型转换错误
实战:第十九章:存入Long类型对象,在代码中使用Long类型接收,结果报类型转换错误
157 0
实战:第十九章:存入Long类型对象,在代码中使用Long类型接收,结果报类型转换错误
解决办法:对‘operator delete(void*)’未定义的引用
解决办法:对‘operator delete(void*)’未定义的引用
202 0
|
JSON 前端开发 JavaScript
@RequestBody 接收数组、List 参数、@Deprecated 标记废弃方法
@RequestBody 接收数组、List 参数、@Deprecated 标记废弃方法
|
安全 Java 程序员
还在重复写空指针检查代码?考虑使用 Optional 吧!
如果要给 Java 所有异常弄个榜单,我会选择将 NullPointerException 放在榜首。这个异常潜伏在代码中,就像个遥控炸弹,不知道什么时候这个按钮会被突然按下(传入 null 对象)。 还记得刚入行程序员的时候,三天两头碰到空指针异常引发的 Bug,解决完一个,又在另一处碰到。那时候师兄就教我,不要相信任何『对象』,特别是别人给你的,这些地方都加上判断。于是代码通常为会变成下面这样:
还在重复写空指针检查代码?考虑使用 Optional 吧!
|
缓存 Java vr&ar
【BUG日记】【JAVA】使用==判断两个Integer类型的值,发现if语句不起作用(正确做法:使用的判断是equals()去判断)
【BUG日记】【JAVA】使用==判断两个Integer类型的值,发现if语句不起作用(正确做法:使用的判断是equals()去判断)
222 0

热门文章

最新文章