Я смотрел на некоторые вопросы отвечал здесь, но я до сих пор не могу найти проблему ж/этот код:ошибка в реализации шаблона (Вложенный класс)
template <typename ItemType>
class List
{
public:
List();
private:
template <typename ItemType>
struct Node
{
ItemType m_value;
int m_count;
Node* m_next;
Node* m_prev;
};
Node* m_head;
int m_uniqueSize;
int m_size;
Node* find(const ItemType& value) const;
};
затем в файле CPP, я заявляю, функция поиска выглядит следующим образом:
template <typename ItemType>
typename Multiset<ItemType>::Node* Multiset<ItemType>::find(const ItemType& value) const
{
//linear search code in here
}
Есть ли что-то не так с моим кодом? ТНХ
Вы не можете поместить определение функции члена шаблона класса в файлы '.cpp' –
, поэтому я должен поместить все в заголовочный файл ? –
В принципе, определение функций-членов шаблона должно быть видимым компилятору в том месте, где они были созданы. Обычно это достигается путем размещения этих определений в том же заголовке, который содержит определение шаблона класса. –