Привет, ребята, я пытаюсь отладить это приложение в C ++, используя NetBeans (при запуске он выдает ошибку при запуске после закрытия), в этот момент выдает ошибку сигнала
* c = (char) anyчисло;
где любое число является целым числом от 1-7
, которое говорит мне, что сигнал пойман SIGSEGV?с ошибкой сигнала?
что это такое
код записывает некоторые вещи в двоичный файл, он выглядит так
void clean_up(Dot &myDot, Uint32 &bg) {
SDL_FreeSurface(DotS);
ofstream f(SAVE_FILE_PATH, ios::binary | ios::out);
f.clear();
// char *buffer;
// buffer[0] = *(char*)(&myDot.get_location().x + 0);
// buffer[1] = *(char*)(&myDot.get_location().x + 1);
// buffer[2] = *(char*)(&myDot.get_location().x + 2);
// buffer[3] = *(char*)(&myDot.get_location().x + 3);
// buffer[4] = *(char*)(&myDot.get_location().y + 0);
// buffer[5] = *(char*)(&myDot.get_location().y + 1);
// buffer[6] = *(char*)(&myDot.get_location().y + 2);
// buffer[7] = *(char*)(&myDot.get_location().y + 3);
f.write((char*)&myDot.get_location().x, sizeof(myDot.get_location().x));
f.write((char*)&myDot.get_location().y, sizeof(myDot.get_location().y));
char *c;
if (bg == C0)
*c = (char)1;
else if (bg == C1)
*c = (char)2;
else if (bg == C2)
*c = (char)3;
else if (bg == C3)
*c = (char)4;
else if (bg == C4)
*c = (char)5;
else if (bg == C5)
*c = (char)6;
else if (bg == C6)
*c = (char)7;
f.write(c, 1);
f.close();
SDL_Quit();
}
и, пожалуйста, может кто-нибудь сказать мне, почему прокомментировалчасть тоже дает мне сигнал