Я пишу класс "Effect" (для программы opengl), а также пытаюсь написать контейнерный класс для.
Класс Эффекта определяется следующим образом:
template <typename T>
class Effect
{
private:
Vbo<T> m_Vbo;
};
Где T - это тип, который описывает атрибуты вершины.
Чтобы написать контейнерный класс, я хотел бы сохранить эти эффекты в std :: map:
class EffectMgr : public Singleton <EffectMgr>
{
private:
typedef std::map<std::string, Effect<T> & > EffectMap;
};
Ошибка, которую я получаю с контейнерным классом, состоит в том, что T не определено. Может ли кто-нибудь просветить меня?
Возможно, я (по чистой случайности и ковырению) нашел ответ, хотя не узнаю, пока не напишу класс контейнера:
class EffectMgr : public Singleton <EffectMgr>,
{
private:
template <typename T>
typedef std::map<std::string, Effect<T> & > EffectMap;
};