C++ 将BigInteger指定给普通整数

C++ 将BigInteger指定给普通整数,c++,class,operator-overloading,C++,Class,Operator Overloading,例如,我可以这样做: uint64_t a = 100; BigInteger b = a; BigInteger a = 100; uint64_t b = a; 但我不能这么做: uint64_t a = 100; BigInteger b = a; BigInteger a = 100; uint64_t b = a; 有办法吗?谢谢。问题解决了 operator uint64_t() {return get_integer();} 谢谢你的帮助。问题解决了 operator u

例如,我可以这样做:

uint64_t a = 100;
BigInteger b = a;
BigInteger a = 100;
uint64_t b = a;
但我不能这么做:

uint64_t a = 100;
BigInteger b = a;
BigInteger a = 100;
uint64_t b = a;
有办法吗?谢谢。

问题解决了

operator uint64_t() {return get_integer();}
谢谢你的帮助。

问题解决了

operator uint64_t() {return get_integer();}

感谢您的帮助。

最简单的解决方案是将
biginger
隐式转换为
uint64\t
。这可以通过以下方法实现:


最简单的解决方案是将
biginger
隐式转换为
uint64\u t
。这可以通过以下方法实现:


@xersi“有什么办法吗?”例如,您可以提供一个转换运算符重载。什么是转换运算符重载?@πάνταῥεῖ , 对于
uint64\u t
类型,可以重载
运算符=
。@xersi请参见。@xersi“有什么办法吗?”您可以提供一个转换运算符重载。例如,什么是转换运算符重载?@πάνταῥεῖ , 可以为
uint64\u t
类型重载
运算符=
。@xersi请参阅。