heute lerne ich wie deklaration von struct record type, anwendung des strukturierten auflistentyps in einem array. Also im Grunde ist das, wie ich mit der Codierung mit Struct beginnen.struct error expression muss bool typ haben
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;
}
Alles funktioniert gut, aber wenn ich zu diesem Teil kam, dieser Teil ist, wo das Array in einer Schleife und den Wert für stock_lvl
und Basis auf dem Zustand überprüfen und ausführen. Aber der Fehler, den ich erhalte, war "struct error expression muss bool type haben". Mache ich hier etwas falsch? Ich bitte nicht um Antwort, aber vielleicht könnte mir jemand erklären?
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;
}
[FYI] Stock [4] ist nicht in Ordnung. Es ist undefiniertes Verhalten und eine tickende Zeitbombe. – NathanOliver
Warum initialisierst du 'award' mit den Werten' 1' und '0', aber verwende in deiner Schleife' true'? –
Das und 'stock [0]' enthält nicht initialisierte Daten. Du musst wirklich ein Buch lesen. Das ist sehr, sehr sehr einfach. – IInspectable