overload3.c

来自「linux下的gcc编译器」· C语言 代码 · 共 28 行

C
28
字号
// Build don't link: // GROUPS passed overloadingtypedef int rutBoolean;class rutBigIntRep{public:  friend rutBoolean operator>(const rutBigIntRep& a, const rutBigIntRep& b);  operator rutBoolean() const;  protected:  enum Kluge {kluge};  rutBigIntRep(Kluge) {}  rutBigIntRep();  rutBigIntRep(const rutBigIntRep& value);  rutBigIntRep& operator=(const rutBigIntRep& value);};rutBoolean operator>(const rutBigIntRep& a, const rutBigIntRep& b) {  // This should not result in a warning.  It used to warn about the  // conversion from int to enum while exploring the possibility of  // converting `a' via `operator rutBoolean', then using the  // rutBigIntRep(Kluge) constructor.  It later realizes it shouldn't  // do this, but the call to build_type_conversion was ending up with  // a warning in convert.  rutBigIntRep diff(a);  return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?