Har ett program där jag skulle vilja läsa in ett tal från en fil och sedan skapa en array med motsvarande antal structs.
Problemet som uppstår är att kompilatorn förväntar sig en konstant.
Finns det någon fiffig lösning på detta?
Skapa variabelt antal struct
3 svar · 227 visningar · startad av SDCd
Börjar bli lite trött i mössan :)
Löste det på följande sätt.
struct Person
{
char namn[20];
bool ledig[9];
};
Person *Array = new Person[antal];
Kan det tänkas vara på rätt väg?
Kompilatorn förväntar sig bara en konstant om du allokerar minne på stacken eller i det globala utrymmet. Om du allokerar minnet på heapen går det bättre.
Exempel:
struct CStruct {innehåll};
int count = readnumber();
CStruct *ptr = new CStruct[count];
// Tilldela ett värde
ptr[nummer].variabel = någonting;
Då verkar jag vara på väg åt rätt håll. Tack för hjälpen. :)