Что не так с моим кодом? (pdcurses / getmaxyx)
-
27-09-2019 - |
Вопрос
Это дает мне нарушение доступа на линии GetMaxyx (вторая строка в основной функции), а также дает мне эти два предупреждения:
LINK : warning LNK4049: locally defined symbol "_stdscr" imported
LINK : warning LNK4049: locally defined symbol "_SP" imported
Да, это тот же код, что и в другом вопросе, который я спросил, это просто то, что я делаю это более понятно. И да, я написал программы с Pdcurses раньше без проблем.
#include <time.h>
#include <curses.h>
#include "Ball.h"
#include "Paddle.h"
#include "config.h"
int main(int argc, char *argv[])
{
int maxY, maxX;
getmaxyx(stdscr, maxY, maxX);
Paddle *paddleLeft = new Paddle(0, KEY_L_UP, KEY_L_DOWN);
Paddle *paddleRight = new Paddle(maxX, KEY_R_UP, KEY_R_DOWN);
Ball *ball = new Ball(paddleLeft, paddleRight);
int key = 0;
initscr();
cbreak();
noecho();
curs_set(0);
while (key != KEY_QUIT)
{
key = getch();
paddleLeft->OnKeyPress(key);
paddleRight->OnKeyPress(key);
}
endwin();
return 0;
}
Решение
Это было давно, так как я использовал проклятия, но я думаю, что вам нужно позвонить initscr()
до Любые другие проклятия называют getmaxyx
.
Вас также наверное Также отсутствуют некоторую проверку ошибок на возвращении initscr и необходимо правильно использовать значения возврата (возможно, вы должны передать его на другие методы проклятия?).
Другие советы
Вам нужно позвонить initscr
до getmaxyx
Не связан с StackOverflow