Question

Il me donne une violation d'accès sur la ligne getmaxyx (deuxième ligne dans la fonction principale) et me donne également ces deux avertissements:

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

Oui, il est le même code que dans une autre question que je posais, il est juste que je fais plus clair. Et oui, je l'ai écrit des programmes avec PDCURSES avant sans problème.

#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;
}
Était-ce utile?

La solution

Il a été longtemps que je l'ai utilisé malédictions, mais je suppose que vous devez appeler initscr() avant toutes les autres malédictions appellent comme getmaxyx.

En outre, vous probablement manquent également une vérification des erreurs sur le retour de initscr et le besoin d'utiliser les valeurs de retour correctement (peut-être vous devez le transmettre à d'autres méthode malédictions?).

Autres conseils

Vous devez appeler initscr avant getmaxyx

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top