C++ 为什么Intellisense显示'&书信电报;未知>';对于模板化方法?

C++ 为什么Intellisense显示'&书信电报;未知>';对于模板化方法?,c++,templates,pointers,intellisense,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 typ

我的类模板:

#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);

};
#包括
#包括“BST.h”
使用名称空间std;
样板
类avlTree:公共二进制搜索树
{
公众:
avlTree();//默认构造函数
~avlTree();//析构函数
常量类型&findMin()常量;
常量类型&findMax()常量;
bool isEmpty()常量;
void printree()常量;
void makeEmpty();
无效插入(常量类型和新数据);
无效删除(常量类型和删除项);
私人:
结构avlNode
{
类型信息;
avlNode*左;
avlNode*右;
内部高度;
avlNode(常量类型和数据,avlNode*ll,avlNode*rl,int h=0)
:info{data},左{ll},右{rl},高{h}
};
avlNode*根;
无效插入(常量类型和新数据、avlNode*&p);
无效删除(常量类型和删除项,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);
}
模板
类型名avlTree::avlNode*avlTree::findMin(avlNode*p)
{
如果(p==nullptr)
返回空ptr;
如果(p->left==nullptr)
返回p;
返回findMin(p->left);
}

虽然我没有尝试使用实际数据运行该程序,但它的构建和编译没有错误。但当我尝试访问avlNode指针
p
的成员(例如
p->member
)时,Intellisense下拉菜单不会显示。此外,当我将光标悬停在
p->member
成员
的顶部时(或上述代码中
p->left
中的
left
),Intellisense显示的小消息是
avlTree::avlNode::left
。那为什么我不能见会员?“未知”是什么意思?我如何修复它?

如果您还没有运行该程序,它如何知道您使用的是哪种类型?这是泛型类。@Aesthete我主要关心的是为什么在指针上使用箭头运算符时,我看不到成员的下拉菜单。我想这与为什么Intellisense会显示这条信息有关。