ANTLR4 CPP目标访问者bad_cast错误

时间:2018-03-14 15:59:51

标签: antlr4

我正在尝试将自定义访问者类用于简单的表达式语法。

// .h

class MyVisitor: public MyParserBaseVisitor {...}

// .cpp

Any MyVisitor::visitExpr(MyParser::ExprContext *ctx) {
    auto result = visitChildren(ctx);
    std::cout<< result.as<int>() << std::endl;
    return result;
}

Any MyVisitor::visitInteger(MyParser::IntegerContext *ctx) {
    return atoi(ctx->start->getText().c_str());
}

result.as()抛出bad_cast异常,result.isNull()始终返回true。我在这做错了什么?

另外,我可以使用anltrcpp :: Any返回指向自定义类对象的指针,还是仅使用基本类型?

0 个答案:

没有答案