gpt4 book ai didi

c++ - 重载索引运算符

转载 作者:行者123 更新时间:2023-11-28 02:24:45 32 4
gpt4 key购买 nike

我正在尝试重载索引运算符 [] .我有两个版本我需要同时使用它们,但是当我构建项目时,其中一个被调用,无论我在哪里使用第二个,我都会收到错误消息:Invalid operands to binary expression double and Quarters .

这是第一个:

Quarters& Security :: operator [] (QuarterType quarter){
return quartersData[static_cast<int>(quarter)];
}

第二个:

const double& Security :: operator [] (QuarterType quarter) const{
return (quartersData[static_cast<int>(quarter)].getPrediction());
}

问题是什么,我该如何解决?

最佳答案

覆盖不考虑返回类型。由于在这两种情况下参数类型相同,覆盖仅考虑对象的 const 特性。如果您的对象不是 const,则将调用 operator[] 的非 const 版本,无论您接下来要用它做什么。

关于c++ - 重载索引运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31138780/

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