c++11 - A text based c++ game with a mystery in code error -


im trying make basic tic tac toe game in c++. while code compile , run keep getting error code above board game: 0x6fefec84. i'm very new c++. error segfault? or there kind of ub going on in code? appreciated. thanks!

 #include <iostream>    using namespace std;       char square[10] = {'0','1','2','3','4','5','6','7','8','9'};     int checkwin();    int board();       int main() {          int player = 1,i,choice;          char mark;           {            board();          player=(player%2)?1:2;           cout << "player" << player << ", enter number: ";         cin >> choice;           mark=(player == 1) ? 'x' : 'o';          if (choice == 1 && square [1] == '1')               square [1] = mark;         else if (choice == 2 && square [2] == '2')              square [2] = mark;         else if(choice == 3 && square [3] == '3')              square [3] = mark;         else if(choice == 4 && square [4] == '4')              square [4] = mark;          else if(choice == 5 && square [5] == '5')               square [5] = mark;         else if(choice == 6 && square [6] == '6')              square [6] = mark;         else if(choice == 7 && square [7] == '7')              square [7] = mark;         else if(choice == 8 && square [8] == '8')              square [8] = mark;         else if(choice == 9 && square [9] == '9')               square [9] = mark;          else {            cout << "invalid move";           player--;          cin.ignore();          cin.get();         }          i=checkwin();           player++;     }while(i==-1);      board();      if(i==1)           cout<<"==>\aplayer "<<--player<<" win ";       else         cout<<"==>\agame draw";        cin.ignore();      cin.get();      return 0;   }       int checkwin() {       if(square[1] == square[2] && square [2] == square[3])                  return 1;          else if(square[4] == square[5] && square [5] == square[6])                  return 1;          else if(square[7] == square[8] && square[8] == square[9])                  return 1;          else if(square[1] == square[4] && square[4] == square[7])                  return 1;          else if(square[2] == square[5] && square[5] == square[8])                  return 1;          else if(square[3] == square[6] && square[6] == square[9])                  return 1;          else if(square[1] == square[5] && square[5] == square[9])                  return 1;          else if(square[3] == square[5] && square[5] == square[7])                 return 1;          else if(square[1] != '1' && square[2] != '2' && square [3] != '3' && square [4] != '4'            && square[5] != '5' && square[6] != '6' && square[7] != '7' && square[8] != '8' && square [9] != '9')            return 0;         else             return -1;    }         int board() {         cout << "\n\n\ttic tac toe\n\n";        cout << "player 1 (x)  - player 2 (o)" << endl << endl<<       cout << endl;        cout << "     |   |   " << endl;       cout << "  " << square[1] << " | " << square[2] << " | " << square[3] << endl;        cout << "----|----|----" << endl;       cout << "----|----|----" << endl;         cout << "  " << square[4] << " | " << square[5] << " | " << square[6] << endl;         cout << "----|----|----" << endl;       cout << "----|----|----" << endl;         cout << "  " << square[7] << " | " << square[8] << " | " << square[9] <<endl;        cout << "     |   |   " << endl << endl;      return 0;  } 

you're missing semicolon @ end of "player" output line.

cout << "player 1 (x)  - player 2 (o)" << endl << endl; 

with << @ end, output address of cout, "0x6fefec84" value you're seeing.


Comments

Popular posts from this blog

ubuntu - PHP script to find files of certain extensions in a directory, returns populated array when run in browser, but empty array when run from terminal -

php - How can i create a user dashboard -

javascript - How to detect toggling of the fullscreen-toolbar in jQuery Mobile? -