【发布时间】:2016-04-27 10:23:03
【问题描述】:
我有一个模板,其中我有一个友元函数的声明,在类之外,我有它的实现:
template<class TreeElement, class Comparator, class Operation>
class AVLTree {
public:
template<class A, class B, class C >
friend AVLTree<A, B, C> createEmptyAVLTree(int n);
...
}
template<class A, class B, class C>
AVLTree<A, B, C> createEmptyAVLTree(int n) { ... }
在其他文件的某处调用它的签名是什么?
我试过了:
AVLTree<Post, postByLikesFunc, emptyFunc>::createEmptyTree();
但它说它无法解决它。为什么 ?朋友成员应该是这样看的吧?
编辑:
AVLTree<Post, postByLikesFunc, emptyFunc> empty;
empty = createEmptyTreeAVLTree<Post, postByLikesFunc, emptyFunc>(size);
empty.arrayToTree(sorted_posts);
它在 Troll.cpp 的功能中。
仍然喊“未在此范围内声明”、“函数无法解析”、“符号无法解析”、“预期的主表达式之前”、“预期的主表达式之前>”
【问题讨论】:
-
解决了。就像斯拉达说的那样。