gpt4 book ai didi

c++ - 结构错误表达式必须有 bool 类型

转载 作者:行者123 更新时间:2023-11-28 02:01:49 25 4
gpt4 key购买 nike

今天我正在学习如何声明结构记录类型,如何在数组中应用结构化记录类型。所以基本上这就是我开始使用 struct 进行编码的方式。

struct myStock 
{
string title;
double price;
int stock_lvl;
bool award;
};

myStock stock[4]; //store 4 record

void initialize()
{

stock[1].title = "Ilo Ilo";
stock[1].price = 35.55;
stock[1].stock_lvl = 15;
stock[1].award = 1;

stock[2].title = "Money Just Enough";
stock[2].price = 10.35;
stock[2].stock_lvl = 0;
stock[2].award = 0;

stock[3].title = "My Mother-in-Law";
stock[3].price = 22.50;
stock[3].stock_lvl = 5;
stock[3].award = 0;

stock[4].title = "Stars";
stock[4].price = 22.95;
stock[4].stock_lvl = 1;
stock[4].award = 1;
}

一切正常,但当我来到这部分时,这部分是数组将循环并检查 stock_lvl 的值并根据条件执行的地方。但我收到的错误是“结构错误表达式必须有 bool 类型”。我在这里做错了什么吗?我不要求答案,但也许有人可以向我解释吗?

int replenishStock()
{
for(int i=0; i<4; i++)
{
if(myStock[i].stock_lvl < 2)
{
myStock[i].award = true;
myStock[i].stock_lvl = +10;
}
else
myStock[i].stock_lvl = +5;
}

最佳答案

对于初学者来说,N 个元素数组的有效索引范围是 [0, N-1]。所以这些声明

stock[4].title = "Stars";
stock[4].price = 22.95;
stock[4].stock_lvl = 1;
stock[4].award = 1;

对于 4 个元素的数组无效。

至于错误消息,那么似乎不是像这样的语句中的结构名称

if(myStock[i].stock_lvl < 2)
^^^^^^^

你必须使用数组名

if(stock[i].stock_lvl < 2)
^^^^^^^

关于c++ - 结构错误表达式必须有 bool 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39150066/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com