第一次问这么温柔。
我遇到了为函数返回自定义类型的问题。更具体地说,我有一个链表,我正在编写一个遍历列表末尾并返回指向该节点的指针的函数。不幸的是,我得到了一个令人讨厌的错误:
" mySpace :: CDAL :: tailNode的返回类型的外部定义与声明中的不同#34;
头文件包含在" mySpace"名称空间和模板类CDAL
private:
struct Node
{....};
函数头
Node* tailNode();
和.cpp
template <typename T>
struct Node* mySpace::CDAL<T>::tailNode()
{...}
我尝试使用struct,因为有人提到过你有时需要它的非typedef声明,而且我不再收到未知类型错误,而是收到了它。
提前感谢您的帮助。
答案 0 :(得分:2)
Node
在mySpace::CDAL<T>
内声明,因此其名称必须符合定义:
template <typename T>
struct typename mySpace::CDAL<T>::Node* mySpace::CDAL<T>::tailNode()
{...}
struct
也不是必需的。把它拿出来不会有所作为。