fork(2) download
  1.  
  2. #include <iostream>
  3. #include <string>
  4. #include <typeinfo>
  5.  
  6. template<typename T1, typename T2>
  7. auto sum(const T1& t1, const T2& t2) {
  8. return t1 + t2;
  9. }
  10.  
  11. template<typename T1, typename... T2>
  12. auto sum(const T1& t1, const T2&... t2) {
  13. return t1 + sum(t2...);
  14. }
  15.  
  16. int main(int argc, char** argv) {
  17. auto s1 = sum(1, 2, 3);
  18. std::cout << typeid(s1).name() << " " << s1 << std::endl;
  19.  
  20. auto s2 = sum(1, 2.0, 3);
  21. std::cout << typeid(s2).name() << " " << s2 << std::endl;
  22.  
  23. auto s3 = sum("Hello", " ", std::string("World!"));
  24. std::cout << typeid(s3).name() << " " << s3 << std::endl;
  25.  
  26. auto s4 = sum("Hello", " ", "World!"s);
  27. std::cout << typeid(s4).name() << " " << s4 << std::endl;
  28.  
  29. return 0;
  30. }
  31.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cpp: In function 'int main(int, char**)':
prog.cpp:26:33: error: unable to find string literal operator 'operator""s'
     auto s4 = sum("Hello", " ", "World!"s);
                                 ^
stdout
Standard output is empty