gpt4 book ai didi

c++ - #include(ing) 文件,变量名现在类型错误 C++

转载 作者:太空宇宙 更新时间:2023-11-04 14:23:45 25 4
gpt4 key购买 nike

抱歉这个奇怪的标题,我不太清楚该怎么调用它,无论如何,这是我的问题:

我有一条错误消息:

pserver.h:27: error: ISO C++ forbids declaration of 'myHashMap' with no type
pserver.h:27: error: expected ';' before '<' token

在 pserver.h 中引用这一行:

template <typename K, typename V>
class myPserver {
public:
//
private:
myHashMap<string, int> theMap; // line 27
};

哪里myHashMap<K, V>类在单独的文件中定义为

template <typename K, typename V>
class myHashMap {
//
};
#include "hashmap.hpp"

此类的头文件包含在 pserver.h 中。

那么为什么编译器不能识别myHashMap<string, int>作为一种类型?

最佳答案

编译器显然不知道myHashMap是什么。您要么忘记将 myHashMap 的声明包含到 pserver.h 中(即使您声称您确实包含了它),要么您的头文件存在循环包含问题。另外,是否 myHashMap 被声明为某个命名空间的成员?

看起来问题与 std::string 没有任何关系,这与其他发布者的建议相反。尽管 std::string 可能存在问题,但您引用的错误消息是由于编译器没有看到 myHashMap 的声明引起的。

关于c++ - #include(ing) 文件,变量名现在类型错误 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5670993/

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