C++ 调整模板对象的向量大小时出错

C++ 调整模板对象的向量大小时出错,c++,templates,hash,vector,resize,C++,Templates,Hash,Vector,Resize,我试图创建一个模板对象的向量向量。当我尝试调整内部向量的大小时,错误就会发生,并且我无法确定错误消息的开头或结尾。我不知道它从哪里得到HashTable::Item::Item。有什么建议吗 /usr/include/c++/4.4.6/bits/stl_vector.h(552):错误:构造函数“HashTable::Item::Item[with Key=int,Value=Varvalue]”的实例与参数列表不匹配 调整大小(大小\类型\新大小,值\类型\ x=值\类型() 在以下过程中检

我试图创建一个模板对象的向量向量。当我尝试调整内部向量的大小时,错误就会发生,并且我无法确定错误消息的开头或结尾。我不知道它从哪里得到HashTable::Item::Item。有什么建议吗

/usr/include/c++/4.4.6/bits/stl_vector.h(552):错误:构造函数“HashTable::Item::Item[with Key=int,Value=Varvalue]”的实例与参数列表不匹配 调整大小(大小\类型\新大小,值\类型\ x=值\类型()

在以下过程中检测到
:
在“main.cc”的第118行实例化“void std::vector::resize(std::vector::size_type={size_t={unsigned long}},std::vector::value_type)[with _Tp=HashTable::Item,_Alloc=std::allocator]”
以下是相关代码:

#定义向量16 类变量值 { 公众: 字符数据[32]; };

模板 类哈希表 { 私人: 类项目 { 公众: 布尔有效; 钥匙; 价值观; 项目*下一步;
项目(常数键k,常数值v,项目*b=0,布尔值=true): 键(k),值(v),下一个(b),有效值(val){} })

向量表;
int表大小;
哈希表(const int s):表大小
{
table.resize(表大小);

对于(int i=0;i> p> <代码>项目< /C>不存在默认构造函数,因此需要为Resisid 2提供参数> Auth<代码> vector <代码>。后面的参数应该是“默认”<代码>项目>代码>填充向量。C++中,

< P>,当您声明类时,不提供构造函数默认构造函数。(无任何输入参数)是自动生成的。当您使用输入参数声明构造函数时,您不会被授予默认构造函数。在您的情况下,您确实为类
声明了一个构造函数,该类需要k和v作为输入参数,但您未能给出它们,因此,请为
声明一个没有输入参数的构造函数或者提供k和v

     detected during:
       instantiation of "void std::vector<_Tp, _Alloc>::resize(std::vector<_Tp, _Alloc>::size_type={size_t={unsigned long}}, std::vector<_Tp, _Alloc>::value_type) [with _Tp=HashTable<int, Varvalue>::Item, _Alloc=std::allocator<HashTable<int, Varvalue>::Item>]" at line 118 of "main.cc"
#define VECLEN 16 class Varvalue { public: char data[32]; };

template class HashTable { private: class Item { public: bool valid; Key key; Value value; Item *next;
Item(const Key k, const Value v, Item *b = 0, bool val = true): key(k), value(v), next(b), valid(val) {} };

vector<vector<Item> > table;
    int tableSize;
    HashTable(const int s): tableSize(s)
    {
            table.resize(tableSize);
            for(int i=0; i<table.size(); i++)
                  table[i].resize(VECLEN);       // <<-- error line 118
    }