I got a parse error when compliing the following code (its attached). They are on lines 113, 119, and 125. The complier says parse error before '}'.
Printable View
I got a parse error when compliing the following code (its attached). They are on lines 113, 119, and 125. The complier says parse error before '}'.
What's in battleKnight.cpp, battleBarbarian.cpp, and battleGoblin.cpp?
Parse error is usually a 'grammatical' error of some sort, like a missing semicolon. In this case the compilier came across a closing brace when it was expecting something else.
So you think the problem is in "battleKnight", "battleBarbarian", and in "battleGoblin"? Well, I'm gonna attach "battleKnight" to this message. "battleBarabrian", and "battleGoblin" is pretty much the same.
Assuming I counted correctly, on line 148 of battleknight.cpp there's an extra '}'
Extra/missing { } ; ( ) etc, etc...are the kinds of things that normally cause parse errors.
fletch
fletch is right look at the last bracket (}) in the file. Where's the matching one? Nada.:)
Okay. It works. Thanks Fletch.
I was updating this program and I came across some errors again. Below (attached) are 2 of the files. It says that there are errors but I can't find them.
Here's the other file.
What were the errors?
Line / Unit / Message
147 / ROA_v3-0.cpp / In file included from ... ROA_v3-0.cpp
/ cityBertopia.cpp / [Warning] In function 'void cityBertopia()'
51 / cityBertopia.cpp / parse before '{'
71 / cityBertopia.cpp / 'choice2' undeclared [first use this function]
/ / [Build Error] (Each undeclared identifier is reported only once
/ / [Build Error] for each function it appears in.)
/ / [Build Error] At top level
147 / ROA_v3-0.cpp / parse error before '}'
You're getting creative ;)
I think that your problem arises from the fact that you've declared the function main2() inside the function cityBertopia(). While I'm not 100% sure that it's illegal per se, I do know that it is definitely poor programming practice. I'd recommend that you move the main2() function out of cityBertopia and see if that solves your problem.
fletch
There isn't a "main2" in "cityBertopia" so I think you mean "menu2". Anyways, "menu2" ISN'T declared in "cityBertopia". Its declared in "ROA_v3-0".
Yes, I did mean 'menu2' instead of 'main2'.
At the top of ROA_v3-0.cpp you've declared a function prototype for menu2(). In fact, you've declared two prototypes for the same funcion. However, there is no code in ROA_v3-0.cpp for menu2().
Here you've declared a function cityBertopia(). Because the #include statement is inside the {braces}, everything in the file cityBertopia.cpp is a part of function cityBertopia(). I'll put the two together so that you can see this.Code:void cityBertopia()
{
#include "cityBertopia.cpp"
}
Starting with the statement 'int menu2()' you began defining the function menu2(). If you count the braces, it's easy to see that menu2() is being defined inside the function cityBertopia().Code:void cityBertopia()
{
//Switch Statment
bool exit = false;
for ( ; ; )
{
int choice2 = menu2();
switch(choice2)
{
//switch statement edited for space
}
if (exit)
break;
}
//Screen
int menu2()
{
int choice2;
cout << "The city you are currently in is Bertopia. \n\n";
cout << "**** Menu ****\n\n";
cout << "(1) Battle \n";
cout << "(2) Shop \n";
cout << "(3) Train \n";
cout << "(4) Check Status \n";
cout << "(5) Inventory \n";
cout << "------ \n";
cout << "(6) Go east or Mordavia \n";
cout << "(7) Go south to Dinxopolis \n";
cout << "(8) Go south east to Swamp City. \n";
cout << "------ \n";
cout << "(9) Save Game \n";
cout << "(10) Load Saved Game \n";
cout << "(11) Quit \n";
cout << ": ";
cin >> choice2;
return choice2;
}
}
fletch
So what would you suggest?
Except that it's menu2(), not main2.Quote:
I'd recommend that you move the main2() function out of cityBertopia and see if that solves your problem.