在我的TimeCode.h中,我有以下内容:
inline TimeCode::operator int() const;
每当我将TimeCode对象转换为int时,应该能够执行哪个。
但是当我做的事情如下:
(int) firstTimeCode > (int) scndTimeCode
编译器向我抛出以下错误:
cast from 'TimeCode*' to 'int' loses precision [-fpermissive]
有谁知道问题是什么以及如何解决?非常感谢你提前!
答案 0 :(得分:6)
查看错误消息 - 它告诉您,您正在将TimeCode*
转换为int
- 也就是说,至少有一个操作数是指针到TimeCode
,而不是实际的TimeCode
。因此,您需要首先取消引用该指针以正确调用您的运算符。