c++ - Passing Struct Error "unqualified-id before '=' token" -
i have been trying pass struct, hold vars, multiple functions, saved in separate class. know error has sort of syntax error, likely, not see have done wrong.
the main.ccp is:
#include <iostream> #include <cstdlib> #include <ctime> #include <fstream> #include "running.h" using namespace std; int main() { //------class objects--------- running runobj; //----------vars-------------- char savegame = 'n'; struct gamevar { int correctguesses; // these vars need reset each new game. int lives; int rowcorrect; int highscore; char anothergame; } values; values.highscore = 12; values.anothergame = 'y'; //--------game loop----------- // int highscore2 = runobj.readhighscore(); while (values.anothergame = 'y') { struct gamevar = runobj.processgame(gamevar); struct gamevar = runobj.aftertext(gamevar); gamevar values; values.anothergame; } cout << endl << "-------------------------------------------------------" << endl; cout << "would save high score? y/n" << endl; cin >> savegame; if(savegame == 'y') { runobj.savehighscore(gamevar); } homecoming 0; } my header file is:
#ifndef running_h #define running_h class running { public: struct gamevar processgame(struct gamevar); void savehighscore(struct hs); int readhighscore(); struct gamevar aftertext(struct gamevar); }; #endif // running_h
first of all, simple issue: using = in while loop condition, assign value 'y' gamevar.anothergame. want ==, test equality.
take @ line:
struct gamevar = runobj.processgame(gamevar); what trying here? gamevar name of struct, not object of gamevar type. object called values. perhaps wanting like:
values = runobj.processgame(values); ditto next line too.
it seems reason have confusion because you're defining struct @ same time creating object of type. struct called gamevar design objects , create object matches design called values:
struct gamevar { // ... } values; you might less confused if define struct outside main function as:
struct gamevar { // ... }; and create instance of in main with:
gamevar values; it values object must pass function - can't pass type, gamevar is.
i'm not sure attempting with:
gamevar values; values.anothergame; this redefine values object within while loop , destroyed @ end of loop. access info fellow member anothergame don't it. maybe you're looking for:
gamevar values; values.highscore = 12; values.anothergame = 'y'; while (values.anothergame == 'y') { values = runobj.processgame(values); values = runobj.aftertext(values); } it's worth noting in c++, not need set struct before every utilize of gamevar type. type name gamevar. is, alter declaration of processgame to: gamevar processgame(gamevar);
c++ structure
No comments:
Post a Comment