📄 cvt1.c
字号:
// { dg-do assemble }// GROUPS passed conversions#include <iostream>class Thing{public: typedef enum { GOOD_THING, BAD_THING, } ThingType ; // { dg-error "" } comma Thing (ThingType type) : thingType (type) { } ~Thing () { }private: ThingType thingType ;} ;class Group{public: typedef enum { THIS_GROUP, THAT_GROUP, } GroupType ; // { dg-error "" } comma Group (GroupType type) : groupType (type), groupCount (0) { } ~Group () { } void append (Thing* const &entry) { groupCount ++ ; } operator GroupType () const { return groupType ; } operator int () const { return groupCount ; } // remove this and problem goneprivate: int groupCount ; GroupType groupType ;} ;inline Group& operator += (Group& g, Thing* const t){ g.append (t) ; return g ; // complaint is here}intmain (int argc, char** argv){ Group g (Group::THIS_GROUP) ; g += new Thing (Thing::GOOD_THING) ; std::cout << "Group type is " << (Group::GroupType) g << std::endl ; return 0 ;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -