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

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

项目场景:

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


问题描述

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

但是却有下面报错:

原因分析:

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

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

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


解决方案:

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


EOF

相关文章
|
5月前
|
编译器 Go 调度
Go 中的类型断言与静态转换
Go 中的类型断言与静态转换
|
5月前
|
编译器
【Bug记录】list模拟实现const迭代器类
【Bug记录】list模拟实现const迭代器类
|
3月前
|
SQL 存储 关系型数据库
SQL判断CHAR类型字段不为空的方法与技巧
在SQL查询中,判断一个CHAR类型字段是否不为空是一个常见的需求
|
5月前
|
安全 Go
|
5月前
|
JavaScript 前端开发 Java
|
5月前
【Bug记录】模板生成错误:不属于vector的成员
【Bug记录】模板生成错误:不属于vector的成员
|
编译器 程序员 Go
Go指针VS值的方法规则
Go指针VS值的方法规则
|
存储 Web App开发 安全
检查 malloc 函数返回内容的四个理由
检查 malloc 函数返回内容的四个理由
|
IDE Go 开发工具
go判断结构体是否实现接口的几种方式
go判断结构体是否实现接口的几种方式
391 0
go判断结构体是否实现接口的几种方式
解决办法:对‘operator delete(void*)’未定义的引用
解决办法:对‘operator delete(void*)’未定义的引用
200 0