rem: void operator()(char const*, char const*) const
add: void operator()(char const* str, char const* ) const
context:     void operator()(char const*, char const*) const    {        code.push_back(op);        switch (op) {            case OP_NEG:                cout << "neg\n";                break;            case OP_ADD:                cout << "add\n";                break;            case OP_SUB:                cout << "sub\n";                break;            case OP_MUL:                cout << "mul\n";                break;            case OP_DIV:                cout << "div\n";                break;        }    }