1

getmaxyx 行 (メイン関数の 2 行目) でアクセス違反が発生し、次の 2 つの警告も表示されます。

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;
}
4

2 に答える 2

1

initscrあなたは前に電話する必要がありますgetmaxyx

于 2010-06-15T02:46:28.697 に答える
1

私が呪いを使ってから久しぶりですが、他の呪いがのように呼び出すinitscr() getmaxyxに電話する必要があると思います。

また、initscrの戻りに関するエラーチェックも見逃している可能性があり、戻り値を適切に使用する必要があります(おそらく、他のcursesメソッドに渡す必要がありますか?)

于 2010-06-15T02:46:36.077 に答える