fork download
  1. #include <stdio.h>
  2.  
  3. void genfunctadd(const char *t1, const char *t2, const char *res)
  4. {
  5. printf(
  6. "%s plus%s_%s_%s(%s a, %s b)\n"
  7. "{\n"
  8. " return a + b;\n"
  9. "}\n",
  10. res, t1,t2,res,t1,t2
  11. );
  12. }
  13.  
  14. template<typename T1, typename T2, typename T3>
  15. T3 add(T1 a, T2 b)
  16. {
  17. return a+b;
  18. }
  19.  
  20.  
  21. int main(void)
  22. {
  23. genfunctadd("char", "char", "char");
  24. genfunctadd("int", "int", "int");
  25.  
  26. printf("%i %f", add<int,int,int>(2,2), add<float,float,float>(0.3333,0.6666));
  27. return 0;
  28. }
  29.  
Success #stdin #stdout 0s 3456KB
stdin
Standard input is empty
stdout
char pluschar_char_char(char a, char b)
{
  return a + b;
}
int plusint_int_int(int a, int b)
{
  return a + b;
}
4 0.999900