fork download
  1. #include <iostream>
  2. #include <initializer_list>
  3.  
  4. struct A {
  5. A(const std::initializer_list<int>&) { puts("initializer_list<int>"); } // (1)
  6. A(const std::initializer_list<float>&) { puts("initializer_list<float>"); } // (2)
  7. A(double) { puts("A(double)"); } // (3)
  8. };
  9.  
  10. int main() {
  11. A var{ 1.1 };
  12. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cpp: In function 'int main()':
prog.cpp:11:13: error: call of overloaded 'A(<brace-enclosed initializer list>)' is ambiguous
  A var{ 1.1 };
             ^
prog.cpp:6:2: note: candidate: A::A(const std::initializer_list<float>&)
  A(const std::initializer_list<float>&) { puts("initializer_list<float>"); } // (2)
  ^
prog.cpp:5:2: note: candidate: A::A(const std::initializer_list<int>&)
  A(const std::initializer_list<int>&) { puts("initializer_list<int>"); }  // (1)
  ^
stdout
Standard output is empty