Here is my code. I keep getting this error:
error: expected primary-expression before ‘)’ token
Anyone have any ideas how to fix this?
void showInventory(player& obj) { // By Johnny :D
for(int i = 0; i < 20; i++) {
std::cout << "\nINVENTORY:\n" + obj.getItem(i);
i++;
std::cout << "\t\t\t" + obj.getItem(i) + "\n";
i++;
}
}
std::string toDo() //BY KEATON
{
std::string commands[5] = // This is the valid list of commands.
{"help", "inv"};
std::string ans;
std::cout << "\nWhat do you wish to do?\n>> ";
std::cin >> ans;
if(ans == commands[0]) {
helpMenu();
return NULL;
}
else if(ans == commands[1]) {
showInventory(player); // I get the error here.
return NULL;
}
}
showInventory(player);is passing a type as parameter. That’s illegal, you need to pass an object.For example, something like:
I’m guessing you have something like this:
which is awful. First, don’t name the object the same as your type. Second, in order for the object to be visible inside the function, you’ll need to pass it as parameter:
and