[問題] void指標輸出值問題

作者: rice9547 (一碗飯)   2017-11-15 21:00:20
開發平台(Platform): (Ex: Win10, Linux, ...)
ubuntu
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
gcc
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
假設今天把一個變數的位置寫給 void 指標
我該怎麼輸出他的值呢?
有嘗試使用 _Generic 來處理後輸出,也有把指標清掉,卻還是失敗
餵入的資料(Input):
無,已寫死
預期的正確結果(Expected Output):
line 13, 14 輸出正確
line 16卻輸出 error
預期應該會和 line 13一樣
錯誤結果(Wrong Output):
輸出了 error (跑到default)
程式碼(Code):(請善用置底文網頁, 記得排版)
https://ideone.com/1FaCEr
補充說明(Supplement):
看到作業想到的實驗,作業其實只是要實作不同型態的stack和queue
我是直接 #define type 和 #define format,cp完檔案再去改裡面的#define
突然想到有 void* 可以吃所有型態的 data,就想實驗看看,卻發現一直失敗orz
作者: Lipraxde (Lipraxde)   2017-11-15 21:24:00
我不知到_Generic怎麼用,不過我猜你要讓他知道你想print char*
作者: stupid0319 (徵女友)   2017-11-15 22:56:00
我想編譯器如果有AI的話,應該猜的出來要輸出成char
作者: james732 (好人超)   2017-11-15 23:05:00
那個_Generic是什麼神奇的寫法
作者: KevinR (Kevin)   2017-11-15 23:06:00
改用template?
作者: CoNsTaR ((const *))   2017-11-16 04:25:00
_Generic 好像是 c11 的東西的樣子
作者: peterwu4 (notd)   2017-11-16 12:53:00
人家是要你做template吧?

Links booklink

Contact Us: admin [ a t ] ucptt.com