Probleem met struct in class

Status
Niet open voor verdere reacties.

JobNij

Gebruiker
Lid geworden
27 okt 2009
Berichten
190
Een noobvriend van me heeft de volgende code geschreven, wanneer hij echter de waarden in de struct probeert te veranderen vind visual studio 2010 ze niet modifiable lvalues.
Ik wil hem dolgraag helpen maar helaas ben ik incapabel.


Code:
//class

typedef struct sc0re {
	char game[128];
	int position;
	char name[1024];
	int score;
} sc0re;

class highScore {
public:
	int readFile(); 
	int writeFile();
	int update(int score);
private:
	sc0re scores[9];
	/*	game 1: Pacman
	 *	game 2: Snake
	 *	game 3: Tetris (non existing)
	 */
};

int highScore::readFile() {
	FILE *highScoreFILE = fopen("highScores.txt", "r+");
	char gameinside[128];
	int positioninside;
	char nameinside[1024];
	int scoreinside;

	for(int i = 0; i < 9; i++) {
		fscanf(highScoreFILE, "%s %i %s %i", gameinside, &positioninside, nameinside, &scoreinside);
		highScore.scores[i].game = gameinside; //PROBLEM
		highScore.scores[i].name = nameinside; //ALSO A PROBLEM
		highScore.scores[i].position = positioninside; //MORE PROBLEM
		highScore.scores[i].score = scoreinside; //PROBLEM?
	}

	printf("%s\n%d. %s\t%d", gameinside, positioninside, nameinside, scoreinside);
	printf("\n\n%s", gameinside);
	return 0;
}

Error: expression must be a modifiable lvalue.

alvast bedankt voor het helpen.
 
Laatst bewerkt:
Het lijkt me vrij logisch waarom je een foutmelding krijgt: er wordt geprobeerd om waardes naar een klasse zelf te schrijven en niet naar een object/instantie van die klasse (iets wat alleen mogelijk is bij static variabelen)

Wanneer er wel een object/instantie van de klasse wordt gebruikt, ga je met de huidige code ook nog het probleem krijgen dat de variabelen die je probeert te setten private zijn, en dus alleen vanuit de klasse zelf te gebruiken zijn. Hiervoor zul je nog getters/setters aan de klasse moeten toevoegen die wel public zijn.
 
Bedankt voor je antwoord. Ondertussen hadden we al min of meer de errors eruit gevogeld, maar met jou opmerking kunnen we hopelijk de laatste problemen eruit filteren!

Job
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan