在可变参数函数va_arg中,第二个参数只是'type'。使用此功能时,示例将传递类似“ int”的信息。如何在自己的函数中传递和使用类型?例如,如果我想分配一个内存块,以便使用方括号[]将对用户指定的内容使用正确的偏移量,有没有办法做到这一点?
答案 0 :(得分:1)
功能不能。 va_arg
是一个宏,它调用许多特定于平台的垃圾。但是您想要做的可能看起来像这样:
#define mallocT(T, n) (malloc(sizeof(T) * (n)))
其中T是类型参数,n是数组大小整数参数。