prog.cpp:12:19: error: macro "F" passed 3 arguments, but takes just 2
F(map<int,int>,m); //fail
^
prog.cpp:7:1: error: ‘map’ does not name a type
map<int,int> m; //ok
^
prog.cpp:9:18: warning: comparisons like ‘X<=Y<=Z’ do not have their mathematical meaning [-Wparentheses]
void func2(a<0>=8>=8) //fail
^
prog.cpp:9:12: error: parse error in template argument list
void func2(a<0>=8>=8) //fail
^
prog.cpp: In function ‘void func2(a<false>)’:
prog.cpp:12:3: error: ‘F’ was not declared in this scope
F(map<int,int>,m); //fail
^