2017-11-13 6 views
2

を使用してのtypedefだから私は、私は混乱し、後で出て編集されたことに気づいたかについての質問をsome codeを持っていましたです。このキーワードはちょうど省略されましたか?タイプサポートに*_t拡張機能を追加するのは、usingの定義で頻繁に使用されています。おそらくそれがここに意図されたものでしょうか?は型名

答えて

1

pair<T, T>dependent nameであり、どのように変更されるのかは、fooが初期化されているためです。

+0

で鋳型依存型でありYour'e 'pair'も変数テンプレートになる可能性があるので依存していますか? – StoryTeller

+0

@StoryTeller:変数名の前に依存する名前。標準委員会は、古典的に設計されたコンパイラが 'pair PointType'を処理する際に型情報を持たず、テンプレート化された型(正解)と二つの文「pair < T' and 'T > PointType」を区別できないことを懸念していた( 'pair'、' T'、 'PointType'はすべて変数です; https://en.wikipedia.org/wiki/Comma_o​​peratorを忘れないでください)。 'typename'はこれらの2つの可能性を区別します。 –

+1

@MaxLybbert - 非常にページの例を除き、この回答リンクは、型名として従属名を使用します。** typenameキーワード**を使用しません。 – StoryTeller