1// PR c++/51079 2 3#if __cplusplus > 199711L 4struct C1 5{ 6 template <class T> 7 operator T() = delete; // { dg-message "declared here" "" { target c++11 } } 8 operator bool() { return false; } 9} c1; 10 11int ic1 = c1; // { dg-error "deleted" "" { target c++11 } } 12int ac1 = c1 + c1; // { dg-error "deleted" "" { target c++11 } } 13#endif 14 15struct C2 16{ 17private: 18 template <class T> 19 operator T(); // { dg-error "private" } 20public: 21 operator bool() { return false; } 22} c2; 23 24int ic2 = c2; // { dg-error "" } 25int ac2 = c2 + c2; // { dg-error "" } 26