fork download
  1. #include <cstdio>
  2.  
  3. template<int,typename> struct dummy;
  4.  
  5. int main()
  6. {
  7. const char ex1[] = "test";
  8. const char ex2[] = {'t', 'e', 's', 't', '\0'};
  9. auto ex3 = "test";
  10. auto &ex4 = "test";
  11. auto && ex5 = "test";
  12.  
  13. dummy<1,decltype(ex1)>{};
  14. dummy<2,decltype(ex2)>{};
  15. dummy<3,decltype(ex3)>{};
  16. dummy<4,decltype(ex4)>{};
  17. dummy<5,decltype(ex5)>{};
  18. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cpp: In function ‘int main()’:
prog.cpp:13:25: error: invalid use of incomplete type ‘struct dummy<1, const char [5]>’
  dummy<1,decltype(ex1)>{};
                         ^
prog.cpp:3:31: note: declaration of ‘struct dummy<1, const char [5]>’
 template<int,typename> struct dummy;
                               ^~~~~
prog.cpp:14:25: error: invalid use of incomplete type ‘struct dummy<2, const char [5]>’
  dummy<2,decltype(ex2)>{};
                         ^
prog.cpp:3:31: note: declaration of ‘struct dummy<2, const char [5]>’
 template<int,typename> struct dummy;
                               ^~~~~
prog.cpp:15:25: error: invalid use of incomplete type ‘struct dummy<3, const char*>’
  dummy<3,decltype(ex3)>{};
                         ^
prog.cpp:3:31: note: declaration of ‘struct dummy<3, const char*>’
 template<int,typename> struct dummy;
                               ^~~~~
prog.cpp:16:25: error: invalid use of incomplete type ‘struct dummy<4, const char (&)[5]>’
  dummy<4,decltype(ex4)>{};
                         ^
prog.cpp:3:31: note: declaration of ‘struct dummy<4, const char (&)[5]>’
 template<int,typename> struct dummy;
                               ^~~~~
prog.cpp:17:25: error: invalid use of incomplete type ‘struct dummy<5, const char (&)[5]>’
  dummy<5,decltype(ex5)>{};
                         ^
prog.cpp:3:31: note: declaration of ‘struct dummy<5, const char (&)[5]>’
 template<int,typename> struct dummy;
                               ^~~~~
stdout
Standard output is empty