这里有很多类似的问题,但我并没有找到任何特别能回答我问题的东西。
我有一个向量向量作为一个类的属性。另一个属性是bucket_count。我想初始化向量的大小为bucket_count的大小,然后初始化其中的每一个向量为一个"“。
目前,我
class QueryProcessor {
private:
int bucket_count;
// store all strings in one vector
vector<vector<string> > hash_table(bucket_count);但这不编译(引发error: unknown type name 'bucket_count')
如果编译得很好,就删除它,但最终会导致错误。我用调试器跟踪了它,好像就在这里
.
.
.
} else if (query.type == "add") {
// Check if string already in table
for (int i = 0; i < hash_table[hash].size(); i++) { // throws EXEC_BAD_ACCESS here
if (hash_table[hash][i] == query.s) {
return;
}
}
.
.
.我认为这可能是由于没有初始化向量,因此出现了上述问题。
编辑:忘了声明,我想要一种不用for循环的方法
发布于 2017-04-04 06:34:33
在类定义中,vector<vector<string>> hash_table(bucket_count);声明一个接受bucket_count并返回vector<vector<string>>的函数。
在构造函数中初始化:
QueryProcessor:: QueryProcessor(int count)
: bucket_count(count),
hash_table(bucket_count, vector<string>(1))
{
}https://stackoverflow.com/questions/43199746
复制相似问题