1

它给了我在 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;
}
4

2 回答 2

1

你需要先initscr打电话getmaxyx

于 2010-06-15T02:46:28.697 回答
1

我已经很久没有使用诅咒了,但我猜你需要在任何其他诅咒调用initscr() 之前getmaxyx调用,比如.

此外,您可能还缺少对 initscr 返回的一些错误检查,并且需要正确使用返回值(也许您必须将其传递给其他 curses 方法?)。

于 2010-06-15T02:46:36.077 回答