没有合适的默认承包商可用编译器错误
no appropriate default contractor available compiler error
我的代码有问题(编译问题)。如果您能向我解释为什么会发生这种情况以及我该如何解决它,我会很高兴。
错误 -
error C2512: 'Item': no appropriate default contractor available
*项目是一套
发生此错误的行不在我的代码中,问题在名为 tuple 的文件中,但在我的代码中,当我执行此操作时出现问题 -
void init(map <int, Item>& itemli)
{
Item temp("ro","1",1,1.99);
itemli[1] = (temp);
temp.setName("bo");
temp.setSerialNumber("2");
temp.setUnitPrice(2.22)
// And so it goes on ...
}
我的承包商 -
Item::Item(string name,string serialNumber,int count, double unitPrice)
{
_name = name;
_serialNumber = serialNumber;
_count = count;
_unitPrice = unitPrice;
}
感谢您的帮助!
您在这一行误用了地图itemli[1] = (temp);
相反,您应该
Item temp("ro","1",1,1.99);
temp.setName("bo");
temp.setSerialNumber("2");
temp.setUnitPrice(2.22)
itemli.insert(std::make_pair(1, temp);//Moved so that setName will relect to temp in Map
// And so it goes on ...
temp
是一个普通对象(不是指针),因此如果您要插入映射 std::map will make a copy of your Item and put it into itemli
我的代码有问题(编译问题)。如果您能向我解释为什么会发生这种情况以及我该如何解决它,我会很高兴。
错误 -
error C2512: 'Item': no appropriate default contractor available
*项目是一套
发生此错误的行不在我的代码中,问题在名为 tuple 的文件中,但在我的代码中,当我执行此操作时出现问题 -
void init(map <int, Item>& itemli)
{
Item temp("ro","1",1,1.99);
itemli[1] = (temp);
temp.setName("bo");
temp.setSerialNumber("2");
temp.setUnitPrice(2.22)
// And so it goes on ...
}
我的承包商 -
Item::Item(string name,string serialNumber,int count, double unitPrice)
{
_name = name;
_serialNumber = serialNumber;
_count = count;
_unitPrice = unitPrice;
}
感谢您的帮助!
您在这一行误用了地图itemli[1] = (temp);
相反,您应该
Item temp("ro","1",1,1.99);
temp.setName("bo");
temp.setSerialNumber("2");
temp.setUnitPrice(2.22)
itemli.insert(std::make_pair(1, temp);//Moved so that setName will relect to temp in Map
// And so it goes on ...
temp
是一个普通对象(不是指针),因此如果您要插入映射 std::map will make a copy of your Item and put it into itemli