作者rice9547 (一碗飯)
看板C_and_CPP
標題[問題] void指標輸出值問題
時間Wed Nov 15 21:00:20 2017
開發平台(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
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.117.247.146
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1510750824.A.CE7.html
推 Lipraxde: 我不知到_Generic怎麼用,不過我猜你要讓他知道你想prin 11/15 21:24
→ Lipraxde: t char* 11/15 21:24
→ stupid0319: 我想編譯器如果有AI的話,應該猜的出來要輸出成char 11/15 22:56
→ james732: 那個_Generic是什麼神奇的寫法 11/15 23:05
→ KevinR: 改用template? 11/15 23:06
推 CoNsTaR: _Generic 好像是 c11 的東西的樣子 11/16 04:25
推 peterwu4: 人家是要你做template吧? 11/16 12:53