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がMSVCと同じように行Aを処理できる「リラックスモード」がありますm.template f<1>(1)
か?