- C++相談室 part112
501 :デフォルトの名無しさん[sage]:2014/05/14(水) 12:35:55.00 ID:FGHJ28Gs - >>499
そのルールがない場合例えば template<class T> void f(T t) { t.x<1>(100); } に struct hoge { template<int N> void x(int n) { return n * N; } }; を渡すと t.x<1>(100); はメンバ関数テンプレートをインスタンス化しての呼び出しになるけど struct piyo { int x; }; を渡すと t.x<1>(100); は ( piyo.x < 1 ) > 100; という計算になるというさま テンプレートにおいては<や>というトークンの構文上の解釈がテンプレートパラメータによって テンプレートパラメータの囲みになったり演算子になったりするのは許さないという仕様
|