if (iter->tokenType==Token::NAME && wstate==WIRE)
{
wstate=WIRENAME;
Wire tempwire;
tempwire.Name=iter->token;
tempwire.width=bus_msb;
std::list<Wire>::const_iterator witer = LargestWireName(tempwire,tempModule.wires);
if (witer!=tempModule.wires.end())
{
tempModule.wires.insert(witer,tempwire);
}
else
{
tempModule.wires.push_back(tempwire);
}
}
当我尝试调用导线的插入功能时,我收到此错误...
错误:没有匹配函数来调用‘std::list<Wire, std::allocator<Wire> >::insert(std::_List_const_iterator<Wire>&, Wire&)’
任何人都可以帮忙吗?请
答案 0 :(得分:1)
您正在使用std::list::insert之外的c ++ 11签名和不是c ++ 11的编译器。 在c ++ 11之前你应该有
std::list<Wire>::iterator witer;
而不是
std::list<Wire>::const_iterator witer
如果代码是c ++ 11,请确保编译器兼容并启用了该功能。由于错误消息格式,我假设这是gcc。因此,在构建命令中使用-std=c++11
。