複数のユーザ定義型を格納するクラスを作成する必要があります。それは必要に応じて、それらのうちの1つを返すべきです。すべての型を返す関数を実装する方法はありますか?複数の型の格納と要求時の単一型の返却
注意:Boostライブラリは使用できません。私はあなたが仕事をしてstd::tuple
クラスを持っているのVisual StudioでC++ 11では
class One {};
class Two {};
class Three {};
enum Type
{
OneType,
TwoType,
ThreeType
};
class GenericType
{
template <typename T> // --- How to implement this function
T getValue(Type type)
{
switch(type)
{
case One: return oneType; // Error
case Two: return twoType;
case Three: return threeType;
}
}
shared_ptr<OneType> oneType;
shared_ptr<TwoType> twoType;
shared_ptr<ThreeType> threeType;
Type m_type;
};
std :: get()はインデックスの項目のみを取り出すことができます(引数として提供されます) – Neo