它给了我getmaxyx行的访问冲突(main函数的第二行),并且还给了我这两个警告:
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;
}
答案 0 :(得分:1)
您需要在initscr
getmaxyx
答案 1 :(得分:1)
自从我使用curses以来已经很长时间了,但我猜你需要在之前调用initscr()
来调用getmaxyx
之类的任何其他诅咒。
此外,您可能还缺少对initscr返回的错误检查,并且需要正确使用返回值(可能您必须将其传递给其他curses方法?)。