1

私はテンプレートの引数の推論について学んでいます。 < 14.8.2.1 Deducing template arguments from a function call >(C++11 draft) を何度も読みましたが、ルールを逃したと思います:
If P is not a reference type: A が参照型の場合、型推定では A の型の参照修飾子は無視されます。


それは私のせいに違いないのですが、それがどこにあるのかわかりません。

4

1 に答える 1

2

A関数の引数の型です。関数の引数は式であり、式には参照型がありません。int i;、があるとしますint &r = i;。式iと式の両方rが typeintを持ち、左辺値です。どちらも type を持っていませんint &。名前が式として以外に使用される状況がいくつかあります (式decltypeとして扱われない特定の構文構造には特別な例外があります)。その場合、区別は重要ですが、オブジェクトを関数として使用します。引数はそれらの 1 つではありません。

于 2013-12-25T11:12:46.077 に答える