C++ の関数から型を返す方法はありますか? たとえば、次のようなものを使用したいと思います。
// sample pseudo-code: NOT valid C++
template<typename Type1, typename Type2>
type??? getType(bool choice) {
if(choice == true) {
return Type1;
} else {
return Type2;
}
}
bool useAwesome = true;
// `Regular` and `Awesome` are classes
getType<Awesome, Regular>(useAwesome) theObject;
if
次の理由により、ステートメントは機能しません。
if(useAwesome) {
Awesome theObject;
} else {
Regular theObject;
}
// theObject goes out of scope!
私は「第一級市民」について読んだことがあり、データ型がそうではないことを知っていますが、template
どうにかして助けを借りますか?