我正在尝试为我的指针字符数组分配内存,但我一直没有匹配的函数来调用“strlen”
int ItemList::getItemNames(char ** & itemNames) const{
int counter = 0;
int MAX_NAME = 50;
char buffer[MAX_NAME];
for (int i = 0; i < size; i++){
int length = strlen(list[i].getItemName(buffer));//ERORR
itemNames[i] = new char[length + 1];
counter++;
}
return counter;
}
这是 getItemName()
void InventoryItem::getItemName(char returnName[]) const
{
strcpy(returnName, itemName);
}
getItemName
不返回任何内容(void
因为返回类型意味着函数不返回任何内容)。它修改了它的论点。所以你需要将buffer
参数传递给strlen
.
list[i].getItemName(buffer);
int length = strlen(buffer);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句