[问题] 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