fork(2) download
  1. #include <iostream>
  2. #include <initializer_list>
  3.  
  4. using namespace std;
  5.  
  6. class Widget{
  7. public:
  8. Widget(initializer_list<double> list){ cout << "co"; } // #1
  9. Widget(initializer_list<string> list){ cout << "xd"; } // #2
  10. };
  11. int main(){
  12. Widget w ({});
  13.  
  14. return 0;
  15. }
Compilation error #stdin compilation error #stdout 0s 3456KB
stdin
Standard input is empty
compilation info
prog.cpp: In function 'int main()':
prog.cpp:12:17: error: call of overloaded 'Widget(<brace-enclosed initializer list>)' is ambiguous
     Widget w ({});
                 ^
prog.cpp:9:5: note: candidate: Widget::Widget(std::initializer_list<std::basic_string<char> >)
     Widget(initializer_list<string> list){ cout << "xd"; } // #2
     ^
prog.cpp:8:5: note: candidate: Widget::Widget(std::initializer_list<double>)
     Widget(initializer_list<double> list){ cout << "co"; } // #1  
     ^
prog.cpp:6:7: note: candidate: constexpr Widget::Widget(const Widget&)
 class Widget{
       ^
prog.cpp:6:7: note: candidate: constexpr Widget::Widget(Widget&&)
stdout
Standard output is empty