fork download
  1. #include <initializer_list>
  2.  
  3. struct test
  4. {
  5. /*explicit*/ test(int){} // uncomment explicit -> no more errors
  6. test( std::initializer_list<test> v)
  7. : test{42} {} // error, implicitly converts 42 to test(42) via the test(int)
  8. };
  9.  
  10. int main(){}
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
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)
                  ^
stdout
Standard output is empty