template struct Struct1 { static bool function1() { return num1; } }; template bool function2() { return b::function1(); } int main(int argc, char **argv) { int a = (int) function2 22> >(); printf("%i", a); return 0; }