I don't understand what is wrong with this.
This is the line with the error: }while(playAgian());
Thank you :)

#include <iostream>
#include <string>

class Ice
{
public:

    void hit(int playerLoco, int iceStrenth, int loco1, int loco2, int loco3);

    int strenth;

    class Loco
    {
    public:
        int location;
        bool hit;

    };
};
void Ice::hit(int playerLoco, int iceStrenth, int loco1, int loco2, int loco3)
{
    if(playerLoco == loco1 || playerLoco == loco2 || playerLoco == loco3)
        iceStrenth = iceStrenth - 1;
}



int main(void)
{
    Ice pie;
    Ice::Loco pie1;
    Ice::Loco pie2;
    Ice::Loco pie3;

    pie.strenth = 3;

    pie1.location = 1;
    pie2.location = 2;
    pie3.location = 3;


    using std::cout;
    using std::cin;
    do
    {
        void play();
        bool playAgian();
    }while(playAgian());
}
void play()
{
    using std::cout;
    cout << "Hi\n";
}
bool playAgian()
{
    using std::cout;
    using std::cin;
    bool playAgian;

    cout << "You scored points. Would you like to play agian? \n"
        << "[1] yes\n"
        << "[2] no\n";
    cin >> playAgian;
    return playAgian;
}

Edited 3 Years Ago by Nick Evan: Fixed formatting

It would be a lot easier if the code is wrapped in code tags :(

return playAgian;

If the function is a Boolean try to return either true or false

#include <iostream>
#include <string>

class Ice
{
public:

void hit(int playerLoco, int iceStrenth, int loco1, int loco2, int loco3);

int strenth;

class Loco
{
public:
int location;
bool hit;

};
};
void Ice::hit(int playerLoco, int iceStrenth, int loco1, int loco2, int loco3)
{
if(playerLoco == loco1 || playerLoco == loco2 || playerLoco == loco3)
iceStrenth = iceStrenth - 1;
}
bool playAgian()
{
using std::cout;
using std::cin;
bool playAgian;

cout << "You scored points. Would you like to play agian? \n"
<< "[1] yes\n"
<< "[2] no\n";
cin >> playAgian;
return true;
}


int main(void)
{
Ice pie;
Ice::Loco pie1;
Ice::Loco pie2;
Ice::Loco pie3;

pie.strenth = 3;

pie1.location = 1;
pie2.location = 2;
pie3.location = 3;


using std::cout;
using std::cin;

do
{
void play();
bool playAgian();
}
while(playAgian());

}
void play()
{
using std::cout;
cout << "Hi\n";
}

Edited 4 Years Ago by gevorg1808: n/a

:sad:

  1. You did not bother wrapping the code in [code] tags
  2. did not properly explain your code
  3. Worst of all the code is not even a proper solution

    bool playAgian(){
        using std::cout; 
        using std::cin;
        bool playAgian;
    
        cout << "You scored points. Would you like to play agian? \n"
        << "[1] yes\n"
        << "[2] no\n";
        cin >> playAgian;
        return true;  // :(
    }
    

The function shouldn't always return true... what's the purpose of asking :?:

Edited 3 Years Ago by Dani: Formatting fixed

NO!!! He must define playAgian() function before main()!!!

Why didn't you mention this in your first post, rather you just posted your code without bothering to explain what you did or explain how your code will help?

This article has been dead for over six months. Start a new discussion instead.