gpt4 book ai didi

c++ - 'std::list<_Ty>::push_back':无法将 'this' 指针从 'const std::list<_Ty>' 转换为 'std::list<_Ty> &'

转载 作者:行者123 更新时间:2023-11-30 02:02:10 25 4
gpt4 key购买 nike

我在尝试编译以下内容时收到此错误消息

void MyClass::MyFunc() const
{
int i= 0;
myList.push_back(i);
}

尽管它返回 void,但我已经不得不将 const 添加到函数中,以解决调用函数本身的相同问题,但现在它发生在STL,我认为我的代码有问题。作为引用,错误是

cannot convert 'this' pointer from 'const MyClass' to 'MyClass &'

我实际上对发生了什么一无所知,因为我从一个对编码标准和最佳实践有着非常虐待关系的人那里继承了这个。如果有人能告诉我这是什么问题的症状以及我应该在代码中寻找什么,那将对我有很大帮助。

最佳答案

方法上的

const 意味着它不能修改调用它的实例,包括任何实例成员。

您需要查看代码库并区分可以修改类实例(不应该是const)的方法和那些只提供信息的方法关于类实例(应该是 const)。

关于c++ - 'std::list<_Ty>::push_back':无法将 'this' 指针从 'const std::list<_Ty>' 转换为 'std::list<_Ty> &',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13528447/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com