c ++奇怪的struct和bitset错误

时间:2011-09-10 18:16:09

标签: c++ visual-c++ struct bitset

我在私人类声明中有这个

#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线时,它没有给我任何错误。我做错了什么?

编辑:添加了更多相关行

2 个答案:

答案 0 :(得分:3)

您是否包含了bitset标头?我想你错过了吗?

答案 1 :(得分:2)

HMAX应该改为HSIZE吗?否则请确保包含&lt; bitset&gt;,并且名称在范围内。您可能在代码中有一个using namespace std,因为您没有使用std ::限定它。但我的赌注是HMAX&lt; - &gt; HSIZE。