Я создаю шаблонный класс "myTree", который включает в себя приватную структуру "myNode".У меня также есть частная функция "findNode", которую я хотел бы вернуть myNode *.Тем не менее, когда я пытаюсь определить «findNode», я получаю 5 ошибок, говорящих о том, что это происходит из-за первой ошибки, которая говорит, что я пропускаю точку с запятой между «myNode» и «*».
Вот основной код:
template <size_t N, typename ElemType>
class myTree {
public:
//...
private:
struct myNode{
//...
};
myNode* findNode(const otherClass<N>& key);
};
template <size_t N, typename ElemType>
myNode* myTree<N, ElemType>::findNode(const otherClass<N>& key) {
return 0;
}
Я попытался изменить тип возвращаемого значения на void, и ошибки исчезли, что означает, что я предполагаю, что что-то не так с использованием моей структуры.
Ошибки: 1) Синтаксическая ошибка: отсутствует ';'до '*' 2) отсутствующий спецификатор типа - предполагается, что int 3) необъявленный идентификатор N) 4) необъявленный идентификатор ElemType 5) необъявленный идентификатор N
Все они указывают на строку объявления функции (myNode *)myTree :: findNode (const otherClass & key) {).