我正在为基本类型编写包装类,以便可以输入它们......除非我遇到了问题。我需要这两种方法来使它变得更好:
Integer32(FastInteger32 value);
Boolean operator>(Integer32 value);
operator FastInteger32();
除非我在“FastInteger”和“Integer”之间使用“>”运算符,否则编译器会看到两条可能的路径,并且不只是选择一个,它会爆炸。有没有办法告诉它只选择一个?
整个代码:
typedef unsigned int FastInteger32;
class Integer32
{
public:
Integer32(FastInteger32 value);
Boolean operator>(Integer32 value);
operator FastInteger32();
private:
FastInteger32 value;
};
int main()
{
Integer32 a = 5;
FastInteger32 b = 5;
if (a < b) { } // Doesn't know what to do here, convert b to Integer32 and compare or convert a to FastInteger32 and compare
}
顺便说一句,你们摇滚,谢谢你的帮助!