Как создать новый экземпляр внутреннего класса в шаблонном классе и вернуть его

Outer.h:

template<typename T>
class Outer
{
private:

class Inner
{
public:

int m_int;
T * m_template;

Inner(int p_int, const T & p_template);

~Inner();
};
Inner * m_innerList[];
void createInner(int value, const T & template);
Inner * getInner(int p_value) const;

Outer.cpp:

#include "Outer.h"

template<typename T>
void Outer<T>::createInner(int p_value, const T & template) const
{
Inner * newInner = new Inner(p_value, template);
m_innerList.add(newInner);
}

template<typename T>
Outer<T>::Inner * Outer<T>::getInner(int p_value) const
{
for(int i = 0 ; i < nbInner ; i++)
{
if(m_innerList[i]->m_int == p_value)
{
return m_innerList[i];
}
}
}

Код не полный, но моя главная проблема заключается в том, что мне кажется, что я не могу создать новый экземпляр класса «Inner» внутри «Outer.cpp» и не могу вернуть экземпляр класса «Inner».

Я подумал, что у меня есть некоторая проблема с путем «Outer ::», или он может быть связан с приватным внутри «Outer.h», но я пока не смог найти работающее решение.

Спасибо за вашу помощь!

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]