奇怪的结构体和bitset错误

visual c++ weird struct and bitset error

本文关键字:bitset 错误 结构体      更新时间:2023-10-16

我在我的私有类声明中有这个

#include "stdafx.h"
using namespace std;
    template <typename Key, typename T>
    class A{
    //....
    private:
        static const unsigned int HSIZE = 32;
        struct Bucket {
            Key key;
            T value;
            bitset<HSIZE> jumpMap;
        };
    //....
    };

给出以下错误:

Error   1   error C4430: missing type specifier - int assumed
Error   2   error C2059: syntax error : '<'
Error   3   error C2238: unexpected token(s) preceding ';'

当我删除bitset行,它给我没有错误。我做错了什么?

编辑:添加更多相关行

包含bitset头文件了吗?我想你错过了吧?

HMAX应该改为HSIZE吗?否则,请确保包含,并且该名称在作用域中。您的代码中可能有一个using命名空间std,因为您没有用std::限定它。但我赌的是HMAX <-> HSIZE。