Frage

Es gibt mir eine Zugriffsverletzung auf der getmaxyx Linie (zweite Zeile in der Hauptfunktion) und gibt mir auch diese beiden Verwarnungen:

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

Ja, es ist der gleiche Code wie in einer anderen Frage, die ich fragte, es ist nur, dass ich mache es klarer. Und ja, ich habe geschrieben Programme mit pdcurses vor ohne Probleme.

#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;
}
War es hilfreich?

Lösung

Es ist lange her, seit ich Flüche benutzt haben, aber ich würde vermuten, Sie Anruf initscr() brauchen vor andere Flüche wie getmaxyx nennen.

Auch Sie wahrscheinlich sind auch einige Fehler fehlt über die Rückgabe von initscr und Notwendigkeit überprüft richtig die Rückgabewerte zu verwenden (vielleicht haben Sie es weitergeben an andere Flüche Methode?).

Andere Tipps

Sie müssen initscr vor getmaxyx anrufen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top