这是我的代码:
...
using namespace std;
class QueryProcessor {
int bucket_count;
vector<list<string> > hash_row(bucket_count);
size_t hash_func(const string& s) const {
static const size_t multiplier = 263;
static const size_t prime = 1000000007;
unsigned long long hash = 0;
for (int i = static_cast<int> (s.size()) - 1; i >= 0; --i)
hash = (hash * multiplier + s[i]) % prime;
return hash % bucket_count;
}
public:
explicit QueryProcessor(int bucket_count): bucket_count(bucket_count) {}
...
并发生此错误:[错误]'bucket_count'不是类型。 我的宣言有什么问题?
答案 0 :(得分:1)
我的声明出了什么问题?
您无法像这样声明和初始化成员变量。
您可以将其声明为:
vector<list<string> > hash_row;
并使用:
初始化构造函数中的成员explicit QueryProcessor(int bucket_count): bucket_count(bucket_count),
hash_row(bucket_count) {}