所以我有这些代码行:
int maxY, maxX;
getmaxyx(stdscr, &maxY, &maxX);
它给了我以下错误:
error C2440: '=' : cannot convert from 'int' to 'int *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
每次使用它时,两次。我甚至没有使用=运算符!包含curses.h文件。我做错了什么?
答案 0 :(得分:5)
getmaxyx
是一个宏,它不接受int *,而是int。
它解析为类似
getmaxyx(S,Y,X) -> X=s->X, Y=s->Y
尝试
getmaxyx(stdscr, maxY, maxX); // without the & operator
请参阅http://opengroup.org/onlinepubs/007908775/xcurses/getmaxyx.html