3
のゼロ値を返す必要がありますテンプレート関数デフォルトまたは不明なテンプレート型
template<typename T>
T foo(){
// ...
// Error occured
if(error)
return 0;
// ...
}
を想定し0
、0.0f
、nullptr
、...エラーが発生したタイプT
、依存。
未知のテンプレートタイプの0
を取得するにはどうすればよいですか? C#では、これを行うにはdefault(T)
と書くことができます。
これをC++で実行する方法は? (C++ 11以降)、または単にreturn {};
(list initialization (since C++11)を参照)はT
のデフォルト値を返すように
どちらをお好みですか? – Matthias
@Matthias 'return T();'と 'return T {};'と同じ効果があります。 'return {};'は最短のものです。あなたはそれを使いたいかもしれません。 – songyuanyao