为什么要这样做
class DataRefsTree;
class DataRefsTreeComparator {
public:
inline bool operator()(const DataRefsTree* inFirst, const DataRefsTree* inSecond) const;
};
class DataRefsTree : public DataTree<AbstractDataRef*, DataRefsTree, STreeHolderSet<DataRefsTree, DataRefsTreeComparator>> {
public:
这不起作用
template <typename Data> class BaseTree;
class BaseTreeComparartor {
public:
template <typename Data> inline bool operator()(const BaseTree<Data>* inFirst, const BaseTree<Data>* inSecond) const;
};
template <typename Data> class BaseTree :public DataTree<Data, BaseTree<Data>, STreeHolderSet<BaseTree<Data>, BaseTreeComparator>>;
class DataRefsTree;
class DataRefsTree :public BaseTree<AbstractDataRef> {
错误类sasl :: AbstractDataRef的类型不完整。 如何解决?