gpt4 book ai didi

c++ - 类中的映射给出编译错误

转载 作者:行者123 更新时间:2023-11-30 02:02:38 25 4
gpt4 key购买 nike

我正在尝试定义一个类

class BTree
{
private:
map<std::string,BTree*> *node;
public:

BTree(void);
~BTree(void);
void Insert(BTree *);
};

在编译代码时编译器给我一个错误

error C2899: typename cannot be used outside a template declaration  
error C2143: syntax error : missing ';' before '<'
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
error C2238: unexpected token(s) preceding ';'
error C2899: typename cannot be used outside a template declaration

我曾尝试将 map 更改为类似 map<int,int> node 的简单内容它仍然给我同样的错误。我错过了什么吗?

最佳答案

这可能是因为您没有在 using 中列出 std 命名空间。 map 类型不在全局命名空间中,因此 map 不可解析。尝试以下操作

class BTree {
private:
std::map<std::string, BTree*> *node;

...
};

关于c++ - 类中的映射给出编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12979254/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com