Я хотел бы получить некоторую помощь, я получаю эту ошибку при запуске приложениюДоступ чтение нарушения расположение 0xFDFDFDFD
Exception брошенного в 0x0029B23D в ConsoleApplication1.exe: 0xC0000005: Доступ расположение чтения нарушения 0xFDFDFDFD. Если для этого исключения имеется обработчик , программа может быть безопасно продолжена.
Я думаю, что проблема доступ к невыгружаемой области памяти
Вот мой код
int ** create_tab(int size)
{
int ** tab = new int *[size];
for (int i = 0; i < size; i++)
{
tab[i] = new int[size];
}
return tab;
}
int definition(int direction, int px, int py, int tab)
{
switch (tab[&py][&px]) {
case 1:
tab[&py][&px] = 0;
direction = direction - 1;
break;
case 0:
tab[&py][&px] = 1;
direction = direction + 1;
break;
}
return direction;
}
int main()
{
int px = 0;
int py = 0;
int direction = 0;
int size = 0;
int steps = 0;
int steps_done = 0;
for (int steps_done = 0;steps_done < steps;steps_done++)
{
system("cls");
turningaround(direction);
moves(direction, px, py);
looping_tab(px, py, size);
definition(direction, px, py, ** tab);
printing(size, ** tab);
}
Проблема возникает из функции определения, запускается программа, но когда я пытаюсь продолжить это просто появляется снова и снова.
Правильный инструмент для решения таких проблем - ваш отладчик. Перед тем, как просить о переполнении стека, вы должны пропустить свой код по очереди *. Для получения дополнительной информации, пожалуйста, прочтите [Как отлаживать небольшие программы (Эрик Липперт)] (https://ericlippert.com/2014/03/05/how-to-debug-small-programs/). Как минимум, вы должны \ [изменить] ваш вопрос, чтобы включить пример [Минимальный, полный и проверенный] (http://stackoverflow.com/help/mcve), который воспроизводит вашу проблему, а также замечания, сделанные вами в отладчик. –
Почему вы используете 'tab [& py] [& px]' вместо 'tab [py] [px]'? – doctorlove
Ваш код, как опубликовал, имеет несколько функций, которые вы не сказали нам. Какая строка генерирует ошибку? Это одна из функций, которые мы не можем видеть? – doctorlove