Pergunta

Isso me dá uma violação de acesso na linha GetMaxyx (segunda linha na função principal) e também me dá esses dois avisos:

LINK : warning LNK4049: locally defined symbol "_stdscr" imported
LINK : warning LNK4049: locally defined symbol "_SP" imported

Sim, é o mesmo código de outra pergunta que fiz, é que estou deixando mais claro. E sim, escrevi programas com pdcurses antes sem problemas.

#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;
}
Foi útil?

Solução

Faz muito tempo desde que usei maldições, mas acho que você precisa ligar initscr() antes da Quaisquer outras maldições chamam como getmaxyx.

Você também provavelmente Também estão perdendo algum erro de verificação de erro no retorno do INITSCR e precisa usar os valores de retorno corretamente (talvez você precise transmiti -lo a outros métodos de maldições?).

Outras dicas

Você precisa ligar initscr antes da getmaxyx

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top