【问题标题】:Type Passing / Changing类型传递/更改
【发布时间】:2009-10-31 20:42:30
【问题描述】:
公共抽象类 ASTNode3 扩展 ASTNode { ASTNode child1; ASTNode child2; ASTNode child3; 公共 ASTNode3(ASTNode c1,ASTNode c2,ASTNode c3){ 孩子1 = c1; 孩子2 = c2; 孩子3 = c3; } 公共 ASTNode getChild1() { 返回孩子1; } 公共 ASTNode getChild2() { 返回孩子2; } 公共 ASTNode getChild3() { 返回孩子3; } } 公共类 IRProc 扩展 ASTNode3 { 公共 IRProc(字符串 p,向量 v,IRCmdSeq cmds){ 超级(p,v,cmds); }

我扩展了 ASTNode,如下所示,但是当我尝试传入 Vector 和 String 作为参数时,我不断收到错误。如何在不影响节点的情况下传入这些值。我正在考虑创建一个处理该类型的中间类,但我不知道该怎么做。

【问题讨论】:

    标签: java tree tree-nodes


    【解决方案1】:

    排队

    super(p,v,cmds);
    

    您尝试使用参数String p, Vector v, IRCmdSeq cmds 调用构造函数ASTNode3(ASTNode c1, ASTNode c2, ASTNode c3)。这不匹配。

    您必须创建ASTNode 的实例才能调用super()。你如何做到这一点取决于你想做什么。或许你应该解释一下pvcmds究竟包含了什么样的信息。

    【讨论】:

    • p 是字符串标识符,v 是参数向量,而 cmd 是一些命令。我正在尝试构建一个编译器
    猜你喜欢
    • 2013-06-26
    • 2018-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-25
    • 2011-07-30
    • 2015-02-03
    相关资源
    最近更新 更多