函数的参数如何成为类型? (类似于 va_arg 的第二个参数)
How can have an argument to a function be a type? (Similar to va_arg's second argument)
在可变函数的函数 va_arg 中,第二个参数只是 'type'。使用此函数时,示例会传递类似 'int' 的内容。如何在我自己的函数中传递和使用类型?例如,如果我想 malloc 一块内存,以便使用方括号 [] 将使用用户指定的正确偏移量,有没有办法做到这一点?
函数不能。 va_arg
是一个调用大量平台特定垃圾的宏。但你想要做的可能看起来像这样:
#define mallocT(T, n) (malloc(sizeof(T) * (n)))
其中 T 是类型参数,n 是数组大小整数参数。
在可变函数的函数 va_arg 中,第二个参数只是 'type'。使用此函数时,示例会传递类似 'int' 的内容。如何在我自己的函数中传递和使用类型?例如,如果我想 malloc 一块内存,以便使用方括号 [] 将使用用户指定的正确偏移量,有没有办法做到这一点?
函数不能。 va_arg
是一个调用大量平台特定垃圾的宏。但你想要做的可能看起来像这样:
#define mallocT(T, n) (malloc(sizeof(T) * (n)))
其中 T 是类型参数,n 是数组大小整数参数。