Getting bizarre "expected primary-expression" error.

Posted by Fecal Brunch on Stack Overflow See other posts from Stack Overflow or by Fecal Brunch
Published on 2010-04-19T01:24:15Z Indexed on 2010/04/19 1:33 UTC
Read the original article Hit count: 296

Filed under:
|

Hi, I'm getting a really strange error when making a method call:

   /* input.cpp */

#include <ncurses/ncurses.h>
#include "input.h"
#include "command.h"

Input::Input ()
{
    raw ();
    noecho ();
}

Command Input::next ()
{
    char input = getch ();
    Command nextCommand;

    switch (input)
    {
    case 'h':
        nextCommand.setAction (ACTION_MOVELEFT);
        break;
    case 'j':
        nextCommand.setAction (ACTION_MOVEDOWN);
        break;
    case 'k':
        nextCommand.setAction (ACTION_MOVEUP);
        break;
    case 'l':
        nextCommand.setAction (ACTION_MOVERIGHT);
        break;
    case 'y':
        nextCommand.setAction (ACTION_MOVEUPLEFT);
        break;
    case 'u':
        nextCommand.setAction (ACTION_MOVEUPRIGHT);
        break;
    case 'n':
        nextCommand.setAction (ACTION_MOVEDOWNLEFT);
        break;
    case 'm':
        nextCommand.setAction (ACTION_MOVEDOWNRIGHT);
        break;
    case '.':
        nextCommand.setAction (ACTION_WAIT);
        break;
    }


    return nextCommand;
}

and the error:

Administrator@RHYS ~/code/rogue2
$ make
g++ -c -Wall -pedantic -g3 -O0 input.cpp
input.cpp: In member function `Command Input::next()':
input.cpp:21: error: expected primary-expression before '=' token
input.cpp:24: error: expected primary-expression before '=' token
input.cpp:27: error: expected primary-expression before '=' token
input.cpp:30: error: expected primary-expression before '=' token
input.cpp:33: error: expected primary-expression before '=' token
input.cpp:36: error: expected primary-expression before '=' token
input.cpp:39: error: expected primary-expression before '=' token
input.cpp:42: error: expected primary-expression before '=' token
input.cpp:45: error: expected primary-expression before '=' token
make: *** [input.o] Error 1

Sorry about the lack of linenumbers, the errors occur on the lines "nextCommand.setAction(...)", which is totally bizarre considering that they don't contain a '='.

Any ideas? Thanks,

Rhys

© Stack Overflow or respective owner

Related posts about c++

Related posts about method