【发布时间】:2014-10-16 22:36:51
【问题描述】:
第一次问,要温柔。
我在为函数返回自定义类型时遇到问题。更具体地说,我有一个链表,我正在编写一个遍历链表末尾并返回指向该节点的指针的函数。不幸的是,我遇到了一个讨厌的错误:
“mySpace::CDAL::tailNode 的返回类型外定义与声明中的不同”
头文件包含在“mySpace”命名空间和模板类CDAL中
private:
struct Node
{....};
函数头
Node* tailNode();
在.cpp中
template <typename T>
struct Node* mySpace::CDAL<T>::tailNode()
{...}
我尝试使用 struct,因为有人提到您有时需要它的非 typedef 声明,而我不再收到未知类型错误,而是收到了这个错误。
提前感谢您的帮助。
【问题讨论】:
-
除了我的回答之外,您不应该在 .cpp 文件中定义模板,除非您真的知道自己在做什么。他们在使用时会给出未定义的引用。而是简单地在 .h 文件中定义函数。
标签: c++