template<int N>
struct foo {
template<int M>
void f(int i){}
};
template<int N>
void bar() {
foo<N> m;
m.f<1>(1); // line A
}
int main(){
bar<1>();
foo<1> n;
n.f<1>(1); // line B
return 0;
}
GCC видит <
как оператор меньше в строке A, но не в строке B.
Существует ли какой-то "расслабленный режим", в которомGCC может обрабатывать строку A так же, как MSVC, поэтому мне не нужно писать m.template f<1>(1)
?