ошибка чтения символов из строки при невозможности чтения памяти c ++ vs17 - PullRequest
0 голосов
/ 25 апреля 2018

Эй, ребята, я пишу код для коллажа игры, подключите четыре, и после запуска он выгоняет меня после попытки разместить игрока. это ss после того, как я использовал отладчик

void Board :: PlacePlayer (int x, char a) {

int i=1;

          if (pboard[0][x] == ' ')
          {
              while (pboard[i][x] == ' ')//the problematic line
              {
                  if (i == len-1)
                  {
                          pboard[i][x] = a;
                  }
                  i++;
              }

          }
          else
          {
              cout << "Invalid choise - column is full please try again!\n";
              corrector = -1;
              return;
          }

          if (a == 'R')
              pboard[i][x] = 'R';
          else
              pboard[i][x] = 'B';

          i--;

          corrector = 0;
      line = i;

      if (Winner(i, x, a))
      {
          if (a == 'R')
              cout << "Red player Has Won!\n";
          else
              cout << "Blue player Has Won!\n";
      }
    }

, который былпроблемная функция, и вот как я создал матрицу платы

    pboard = buildMat(len, width);//defined as char pboard** in the .h file

char** Board::buildMat(int l, int w)//building the char matrix (private method)in the .cpp file
{
    char**mat;
    mat = new char*[l];
    for (int i = 0; i < l; i++)
        mat[i] = new char[w];
    return mat;
}

Может кто-нибудь помочь с этим?Я не понимаю, почему у меня будут проблемы с памятью здесь.спасибо заранее ребята

1 Ответ

0 голосов
/ 25 апреля 2018

Может быть, в вашем классе Board вам просто нужно перегрузить оператор []. После этого вы можете сделать матрицу, используя эту таблицу [x] [y].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...