1

私はC++に比較的慣れていないので、初めて複雑なテンプレート構造を構築しようとしています。

テンプレートクラスFooのメンバーとして、Foo*要素のstd:: vectorを宣言するにはどうすればよいですか?しかし、それはさまざまなタイプである可能性がありますか?

#include <vector>

template <typename T>
class Foo {
    T mValue;
    std::vector< Foo<T>* > mFooParameters;  // <---- I would like this vector to contain
                                            //       any sort of Foo<T>* elements,
                                            //       Foo<int>*, Foo<double>*, etc.
};

それは簡単ですか、可能ですが複雑ですか、それとも不可能ですか?

ご回答ありがとうございます!

4

1 に答える 1

0

ベクトルタイプがすべて関連している場合は、@ jogojapanが提供するリンクで説明されているようにポリモーフィズムを使用します。タイプがまったく関連していない場合は、のベクトルを使用void*してデータへのポインターを保持します(ただし、ちょっと面倒です)

于 2012-10-19T04:07:58.487 に答える