#include <initializer_list> struct test{ /*explicit*/ test(int){} // uncomment explicit -> no more errors test( std::initializer_list<test> v) : test{42} {} // error, implicitly converts 42 to test(42) via the test(int)}; int main(){}
Standard input is empty
prog.cpp: In constructor 'test::test(std::initializer_list<test>)': prog.cpp:7:18: error: constructor delegates to itself : test{42} {} // error, implicitly converts 42 to test(42) via the test(int) ^
Standard output is empty
The brand new service which powers Ideone!
Widget for compiling and running the source code in a web browser!