Ich erhalte die Fehlermeldung „Zuordnung der unvollständigen Typ“, wenn ich versuche ContestantInfo *contestantStructArray = new ContestantInfo [numberOfContestants];
Dynamische Struct Array Fehler
Heres mein Code zu erstellen:
innerhalbStruct ContestantInfo
#include <fstream>
#include <iostream>
using namespace std;
struct ContestantInfo;
int main()
{
//opens all the files for input and output
fstream contestantsFile("contestants.txt", ios::in);
fstream answerKeyFile("answers.txt", ios::in);
fstream reportFile("report.txt", ios::out);
//used to determine how many contestants are in the file
int numberOfContestants = 0;
string temp;
//checks to see if the files opened correctly
if(contestantsFile.is_open() && answerKeyFile.is_open() && reportFile.is_open()){
//counts the number of lines in contestants.txt
while(getline(contestantsFile, temp, '\n')){
numberOfContestants++;
}
//Puts the read point of the file back at the beginning
contestantsFile.clear();
contestantsFile.seekg(0, contestantsFile.beg);
//dynamic array that holds all the contestants ids
string *contestantIDNumbers = new string [numberOfContestants];
//Reads from the contestants file and initilise the array
for(int i = 0; i < numberOfContestants; i++){
getline(contestantsFile, temp, ' ');
*(contestantIDNumbers + i) = temp;
//skips the read point to the next id
contestantsFile.ignore(256, '\n');
}
ContestantInfo *contestantStructArray = new ContestantInfo [numberOfContestants];
}
else
{
cout << "ERROR could not open file!" << endl;
return 0;
}
}
struct ContestantInfo{
string ID;
float score;
char *contestantAnswers;
int *questionsMissed;
};
Die Zeiger werden soll schließlich zum Punkt auch dynamische Arrays, wenn sich daran etwas ändert. Ich bin ein Student, also halte dich nicht zurück, wenn ich etwas Dummes mache.
Okay, ich verstehe diesen Beitrag grob. Können Sie vorschlagen, dass Code hinzugefügt wird, der das beheben würde, oder funktioniert das Erstellen eines dynamischen struct-Arrays einfach nicht? –
@FinnWilliams Sicher, Sie müssen nur die Strukturdefinition vor dem Haupt setzen. – cnelmortimer
Dummerweise einfacher Dankeschön. –