编译过程中收到此警告。警告:格式'%d'需要类型'int',但参数6的类型为'long int'
“警告:格式 '%d' 需要键入 '诠释',但论点6的类型为 '长整型'
我应该改变%d
到%lu
编辑:? 这是代码的一部分。
if (item->GetVnum() == DRAGON_HEART_VNUM)
{
sprintf(buf, "Inc %ds by item{VN:%d SOC%d:%d}", ret, item->GetVnum(), ITEM_SOCKET_CHARGING_AMOUNT_IDX, item->GetSocket(ITEM_SOCKET_CHARGING_AMOUNT_IDX));
}
else
{
sprintf(buf, "Inc %ds by item{VN:%d VAL%d:%d}", ret, item->GetVnum(), ITEM_VALUE_CHARGING_AMOUNT_IDX, item->GetValue(ITEM_VALUE_CHARGING_AMOUNT_IDX));
}
'%ld'如果其签署 – quantdev 2014-09-01 21:07:25
什么是你的编译器? – Rasool 2014-09-01 21:40:47
我们如何知道你应该改变什么?也许你应该将格式更改为'%ld'。也许你应该将参数改为'int'。这就像是问'2 + 3 = 6'中的错误在哪里。应该是'2 + 3 = 5'吗?或者它应该是'2 * 3 = 6'。只有你知道你真正需要什么。 – AnT 2014-09-01 21:57:55