为什么Intellisense会显示&#39; <unknown>&#39;对于模板化的方法?

时间:2015-06-30 15:17:19

标签: c++ templates pointers intellisense

我的课程模板:

#include <iostream>
#include "BST.h"
using namespace std;

template <class type>
class avlTree : public binarySearchTree<type>
{
public:
    avlTree();      //default constructor
    ~avlTree();     //destructor
    const type & findMin() const;
    const type & findMax() const;
    bool isEmpty() const;
    void printTree() const;
    void makeEmpty();
    void insert(const type & newData);
    void remove(const type & deleteItem);

private:
    struct avlNode
    {
        type info;
        avlNode *left;
        avlNode *right;
        int height;

        avlNode(const type & data, avlNode *ll, avlNode *rl, int h = 0)
            : info{ data }, left{ ll }, right{ rl }, height{ h } {}
    };

    avlNode * root;

    void insert(const type & newData, avlNode * & p);
    void remove(const type & deleteItem, avlNode * & p);
    avlNode* findMin(avlNode * p);
    avlNode* findMax(avlNode * p);

};

以下是我遇到问题的定义之一:

template <class type>
typename avlTree<type>::avlNode* avlTree<type>::findMin(avlNode * p)
{
    if (p == nullptr)
        return nullptr;
    if (p->left == nullptr)
        return p;
    return findMin(p->left);
}

虽然我没有尝试使用实际数据运行该程序,但它确实构建并编译没有错误。但是当我尝试访问avlNode指针p的成员(例如p->member)时,Intellisense下拉菜单不会显示。此外,当我将光标悬停在memberp->member的顶部(或上述代码中的left中的p->left)时,智能感知显示的小消息为{{1} }}。那为什么我看不到会员呢?什么是&#34;未知&#34;是什么意思,我该如何解决?

0 个答案:

没有答案