3

C++14 では、変数テンプレートが許可されます。

template <typename T> constexpr T pi = T(3.1415926535897932385);

ここで、次のケースを検討してください。

template <typename T = double> constexpr T pi = T(3.1415926535897932385);

pi質問:デフォルト パラメータを取得するにはどうすればよいですか?

pi; // Option 1 (I hope...)
pi<>; // Option 2
4

2 に答える 2

0

この草案に基づいて使用法が決まりますpi<TYPE>が、これは時間の経過とともに変更される可能性があります。コンパイラだけでは、次のような関数を記述して次のように使用するのと同じように、pi型を推測できない場合があります。pitemplate <class T> void foo();foo()

デフォルトの引数の場合、関数のように動作する必要があるため、次のようにする必要がありますpi;

于 2013-11-11T17:10:13.550 に答える