我在私人类声明中有这个
#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线时,它没有给我任何错误。我做错了什么?
编辑:添加了更多相关行
答案 0 :(得分:3)
您是否包含了bitset标头?我想你错过了吗?
答案 1 :(得分:2)
HMAX应该改为HSIZE吗?否则请确保包含&lt; bitset&gt;,并且名称在范围内。您可能在代码中有一个using namespace std,因为您没有使用std ::限定它。但我的赌注是HMAX&lt; - &gt; HSIZE。