假设您有几个类似的功能:
void Inventory(int index, char input[], int qty)
void AddItem(){
int index = Inventory(index);
if (int i = 0; i < index; i++){
...
}
}
但这给了我一个错误'无法使用类型为“ Void”的值来初始化类型为“ int”的实体”
自从我还是编程新手以来,有人可以向我详细解释吗?
答案 0 :(得分:3)
您正在尝试将index
初始化为int
,其值是通过调用Inventory(index)
返回的。但是您提供的Inventory
函数的返回类型为void
,而不是预期的int
,因此无法获取该值。
此外,您对Inventory
的调用缺少chat input[]
和int qty
参数的参数。另外,index
在您尝试使用时未初始化(在index
的定义内)。
答案 1 :(得分:2)
函数Inventory
不返回任何内容(即void
),并且您试图对类型int
的变量不产生任何影响。这就是编译器抱怨的原因。
解决方案是让您的Inventory
函数返回一个int
值而不是void
。
答案 2 :(得分:0)
首先,您提供的问题和代码段具有误导性。
第二,由于函数Inventory的返回类型为Void,因此您将收到此错误,这意味着它什么也不返回。并且您尝试不为int类型的变量索引分配任何内容。
而且,如果您尝试调用多参数函数而不必传递所有参数,则将其余参数设为可选。
答案 3 :(得分:0)