代码之家  ›  专栏  ›  技术社区  ›  flarn2006

无法从“int”转换为“int*”

  •  2
  • flarn2006  · 技术社区  · 16 年前

    我有以下几行代码:

    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 回复  |  直到 16 年前
        1
  •  5
  •   nothrow    16 年前

    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

    推荐文章