私はこの子と同じタイプTの新しいオブジェクトを作成する必要があります。タイプChildの私のオブジェクトには、テンプレートされていない基本クラスParentがあります。私のChild型のオブジェクトへの唯一のアクセスは、Parent型のポインタを介してです。このポインタをParentにキャストして、正しくテンプレート化された型のChildオブジェクトへのポインタにすることは可能ですか?そうでなければ、ParentへのポインタからTを取得しますか?親から*子へのキャスト<T> *未知のT、および取得T
鋳造時にTを知っている唯一の例です。
struct Parent{
};
template <typename T>
struct Child{
typedef T ValueType;
};
template <typename T>
void foo(Parent*) { }
// implementation
Parent* object; // provided from somewhere else, points to Child<T> of unknown T
foo<T>(object); // PROBLEM because T depends on what T the Child in object was templated with
ルック"デザインパターン – Leon