void-pointers

    2熱度

    6回答

    我正在構建一個C++程序,需要存儲一個字符串映射到函數指針。但是,每個函數可能有不同的返回類型和參數。我試圖解決這個問題的方法是通過創建函數來獲取void指針數組並返回一個void指針數組,然後根據需要轉換參數並返回值。 爲了弄清楚這將如何工作,我試圖建立一個簡單的虛擬,但不能讓它編譯。我已經嘗試了很多東西,但是我不斷收到不同的錯誤。這裏有一個例子: #include <string> #inc

    0熱度

    1回答

    TLDR:我使用了一個類型爲void *的變量來保存字符串指針,我該如何修改字符串的值? 背景 帶IPC的家庭作業已經出現。 我有兩個過程,廚師和服務員在那裏服務員給廚師一些輸入(派對坐席,餐桌訂單,準備結賬等),然後廚師將信息發回給相關的服務員(顯然不是所有的服務員同時服務所有桌子)。 我(誠然笨重)解決方案: 1.廚師打開「廚師」 FIFO讀取文件 2.服務員打開「廚師」來寫,寫服務員的名字,

    1熱度

    2回答

    我正在用OpenGL編寫一個程序,並且會發生將要發生的自定義事件,例如。當一名球員遇到障礙或邁出一步。我想要做的是: 有一個名爲類似「EventBroadcaster」的單例類。該廣播公司將從節目周圍獲得美聯儲活動。然後,當它接收到一個事件時,它會將它發送給所有監聽器(「EventListener」對象),並帶有一個void *,其中包含一個保存事件信息的結構體。 EventListener對象可

    4熱度

    2回答

    爲什麼說我們可以在C編程中用void *實現參數多態? 教授提出的問題,從來沒有回答。我相信一個void *實際上是一個非常低的水平被認爲是參數多態,但是有更強的理由嗎?

    0熱度

    1回答

    編輯代碼當我最初發布時,我用下面的代碼搞砸了。我最終遇到的問題是我得到了我已經傳遞給該函數的size值的「sizeof」。因此,我總是寫4bytes而不是實際大小。基本上我做了這樣的事情: size = sizeof(valueIWantToSend); finalSizeToWrite = sizeof(size); //derpderpderp 我修復了下面的示例代碼。 試圖做一些更復雜

    1熱度

    3回答

    可能重複: Dereferencing void pointers 我有一個函數調用這種方式: void foo(void *context) //function prototype .. .. .. main() { . . foo(&(ptr->block)); //where ptr->block is of type integer. . . . void foo

    1熱度

    3回答

    它是當我想爲教育目的寫我自己的快速排序。這是我的了: ​​ 而且我在陣列中的每個元素的大小和指針數組的第一個元素。我如何獲得該數組中的每個單獨的元素?

    0熱度

    2回答

    我在visual studio頭文件中發現了一些地方,其中的內存是通過void指針釋放的。 xlocnum文件: template<class _Elem> class numpunct : public locale::facet { _PROTECTED: _VIRTUAL __CLR_OR_THIS_CALL ~numpunct()

    8熱度

    2回答

    在更好地瞭解答案的希望 在this後給出的,可有人請向我解釋,如果 以下循環緩衝區的實現是可能的,如果不 ,何樂而不爲。 #define CB_TYPE_CHAR 0 #define CB_TYPE_FLOAT 1 ... typedef struct CBUFF { uint16 total; /* Total number of array elements */

    2熱度

    1回答

    我需要建立在C 一個「通用」堆排序我有包括比較功能的主要文件。本質上,數組的基地址,元素數量,每個元素的大小以及比較函數被傳遞到堆排序函數中。我遇到了兩個問題,一個程序沒有對它進行排序,所以我想知道是否有人可以看到代碼有任何問題。兩個1710元素後出現分段錯誤。 #include <stdio.h> #include <string.h> #include "srt.h" void sr