无法从'int'转换为'int *'

时间:2010-06-14 22:56:32

标签: c++ ncurses curses pdcurses

所以我有这些代码行:

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文件。我做错了什么?

1 个答案:

答案 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