fork(3) download
  1. #include <iostream>
  2. #include <string>
  3.  
  4. struct SomeClass {};
  5.  
  6. struct Container
  7. {
  8. Container() = default;
  9. explicit Container(int) {}
  10. explicit Container(double) {}
  11. explicit Container(const std::string&) {}
  12. explicit Container(const SomeClass&) {}
  13.  
  14. explicit operator int () const {return {}; }
  15. explicit operator double () const {return {}; }
  16. explicit operator std::string () const {return {}; }
  17. explicit operator SomeClass () const {return {}; }
  18. };
  19.  
  20. const Container cont1(int{});
  21. const Container cont2(double{});
  22. const Container cont3(std::string{});
  23. const Container cont4(SomeClass{});
  24.  
  25. const double v1(cont1);
  26. const int v2(cont2);
  27. const std::string v3(cont3);
  28. const SomeClass v4(cont4);
  29.  
  30. int main() {
  31. }
Success #stdin #stdout 0s 15232KB
stdin
Standard input is empty
stdout
Standard output is empty