【发布时间】:2018-10-12 01:31:10
【问题描述】:
我对 c++ 有点陌生,但遇到了一个奇怪的错误。我编写了一个相当简单的类,名为endpoint。在endpoint 中,我有一个std::map<endpoint*, ppr_t> 类型的属性(其中ppr_t 是结构的typedef)。当我尝试通过对属性运行 count 方法来检查地图中的项目时,出现以下编译错误:
error: invalid conversion from ‘const endpoint*’ to ‘std::map<endpoint*, ppr_t>::key_type {aka endpoint*}’
我不确定为什么会弹出此错误。也许是因为我没有这个类的比较功能?即便如此,使用std::unordered_map时也会出现同样的错误。
【问题讨论】:
-
如果您能提供导致错误的代码会有所帮助,那么我们或许能够帮助修复它。
-
您不能将 const 指针强制转换为非 const 指针,这会破坏 const 的目的。
-
请分享代码。
-
分享代码,只有任何人都可以提供一定的答案。
标签: c++ class pointers key stdmap