member-function-pointers

    3熱度

    2回答

    我想傳遞我的函數repaint()在3個版本中重載的函數指針。我想通過一個不帶任何參數: void repaint() 我想: myObject = new Object(&myclass::repaint); 但是編譯器說:「我不知道是哪個版本的選擇」。好。 然後我試圖 myObject = new Object(static_cast<void(*)(void)>(&repaint);

    1熱度

    1回答

    #include <functional> #include <iostream> struct Foo { Foo(int num) : num_(num) {} void print_add(int i) const { std::cout << num_+i << '\n'; } int get_num(int i) { return num_;}

    0熱度

    1回答

    我努力創建派生類並將方法指針從它傳遞給基類,以便在基類中聲明的函數可以調用它(通過接口調用派生類的函數)。 目標是創建派生類來引入它們自己的資源和函數,但是通過在基類提供的函數中調用其中一個函數來調用函數應該是可能的。爲此,我需要將派生的成員函數指針傳遞給基類。 這裏是我的嘗試: class KeyFunction { void(*KeyFunction::KeyFuncPtr)()

    0熱度

    2回答

    我試圖存儲一個指向成員函數的指針。需要存儲指針的類被聲明爲: template <typename TDataType, typename T> bool my_function(std::string topic_name, void(T::*)(const TDataType&) fp, T* obj) 我得到的錯誤: error: expected ',

    0熱度

    1回答

    我有一個基類指針的映射,我需要將類函數應用於映射的數據。 我正在處理用戶將輸入的形狀,然後有機會操作它們(平移,旋轉...)。我有功能女巫的工作,操縱形狀和形狀存儲在地圖中。 我正在努力如何訪問和操作映射的形狀。 我有以下代碼; polygon * T; map<string, polygon*> shape_map; new_shape = Trans + user_input; // ad

    3熱度

    2回答

    以下示例適用於傳遞不帶任何參數的成員函數指針。有人能解釋我如何用參數來做到這一點嗎?如果有可能我們也可以傳遞可變數量的參數? class test { public: typedef void (test::*check_fun_type)(); //typedef void (test::*check_fun_type)(int); void mF1(check

    3熱度

    1回答

    我在寫一個使用C++類的Arduino庫。在類內部,我有一個私有成員變量,它是一個指向函數的指針。 的問題是,我需要的指針是易失性,因爲指針指向功能將被設置外一個ISR,並且可以在程序執行期間被改變,但該函數將被稱爲內部一個ISR。因此,我認爲我需要一個非易失性函數的volatile指針,對嗎? 無論如何,我正在做的是創建一個機制,允許自定義用戶函數,這將定期由我的庫調用。 這裏的基礎知識: 這恰

    0熱度

    1回答

    我試圖創建一個由int和指向成員函數的指針組成的地圖。 class Factory { public: typedef nts::IComponent *(*createFunction)(const std::string &value); Factory(); ~Factory(); nts::IComponent *createCompon

    1熱度

    1回答

    A bit of background for the unified call proposal 是否統一調用語法允許C++程序員可以輕鬆地投一個成員函數指針到非成員函數指針,反之亦然? 換句話說,它允許通過發送類的實例作爲第一個參數來調用成員函數經由非成員函數指針? struct X { void member() { } }; X x; void (*fp)(X*) =

    0熱度

    1回答

    我有一個指向一個COM對象pfoo實現IFoo的指針。我想獲得pfoo-> Bar()的地址,它是IFoo的一種方法。由於COM對象有很好的文檔記錄,所以這應該很容易。事實上,它是。如果酒吧()是,比如說,在接口的第五種方法(會計課程IUnknown方法的),地址可以從虛表中提取與 (*(void***)(pfoo))[5] 我的問題是,有沒有辦法做到這不需要使用「5」?看起來很容易出錯,不得