visitor

    5熱度

    2回答

    被警告:在我們遇到真正的問題之前,有很多背景信息。 我有一個相當寬的C++類層次結構(代表像不同類型的表達式): class BaseValue { virtual ~BaseValue(); }; class IntValue final : public BaseValue { int get() const; }; class DoubleValue final : public Bas

    6熱度

    2回答

    我正在使用antlr v4爲其他目的提取Java程序的分析樹。我從這個樣本開始:ANTLR v4 visitor sample 而且我已經測試給定鏈路上的步驟檢查是否正常工作,一切都消失了右: java Run a = 1+2 b = a^2 c = a+b*(a-1) a+b+c ^Z Result: 33.0 然後我寫我自己來解析Java程序的結構如下: |_Java.g4

    1熱度

    1回答

    假設我們有以下的,我們不能改變類: interface Base { void accept(Visitor visitor); } class Foo implements Base { short getShortValue() { return 1; } @Override public void accept(Visit

    0熱度

    1回答

    我正在嘗試使atrl4 4.6。工作,但我得到4先進的錯誤,我不能通過他們。任何人都可以幫我嗎?也許需要匿名課程。 另外super()錯誤,我有它在正確的位置,但它否認工作。 Yoco.java:34: error: YocoVisitor is abstract; cannot be instantiated YocoVisitor eval = new YocoVisitor(di

    1熱度

    3回答

    這是一個類似於Using std::forward on sub fields的問題,但答案似乎並不適用於我的情況。 Consider this code: template<class Base, class F> void visit(Base&&, const F&) { throw std::bad_cast(); } template<class Derived, cl

    1熱度

    1回答

    我試圖爲boost::variant寫一個vistor,它需要一個參數包類型併爲每個類型生成一個operator()。在調用正確的函數的同時,當試圖從訪問者的變量中保存get-ed對象時,仍然會出現錯誤。 我的觀衆是這樣的: #include <boost/variant.hpp> #include <iostream> template <class T> class GenericGe

    1熱度

    1回答

    以下字符串: x=92 and y=29 產生一個有效的輸出:x=92 AND y=29和正常工作與CCJSqlParserUtil.parseCondExpression,但它不應該拋出異常以下? x=92 lasd y=29 但產量只是:x=92 而且它表達我應該用它來實現自己的訪客?即, CCJSqlParser c= new CCJSqlParser(new StringReade

    4熱度

    4回答

    當使用Visitor Pattern時,visit(object)方法是否可以更新或修改它所訪問的對象,或者只是簡單地假定只使用該對象執行某些計算並返回計算結果? 感謝

    0熱度

    1回答

    我想了解Java的ObjectWeb ASM庫(框架?)如何通過閱讀文檔和查看示例代碼的組合。我慢慢地意識到它背後的想法,但是我發現了一些我只是不理解的示例代碼,所以我希望這裏有人能向我解釋它。 代碼獲取mv,從ClassWriter的visitMethod方法得到的MethodVisitor中,並開始操縱這樣的方法: mv.visitCode(); String methodSigna

    1熱度

    1回答

    我正在嘗試使用模板,訪問者模式和CRTPs的幫助編寫郵件系統。我理解這些概念,但仍然處於這種情況下,我必須回顧一種「迷失」類型。我有一個Base班,我想找到一個Derived<T>。這是推斷「兩種」的類型,即使它被認爲是一種類型,任何東西都可以是T。 我試圖利用第二個訪客模式,這看起來很沉重而且很瘋狂,但我沒有找到任何工作解決方案。即使它與遊戲有關,它只是一個例子,它可以應用於其他程序,我想,我不