<分区>
是否有可能在 C 中定义依赖于数据类型的函数。我想定义一个函数,它根据一维数组或二维数组作为参数使用不同的过程。
标签 c
<分区>
是否有可能在 C 中定义依赖于数据类型的函数。我想定义一个函数,它根据一维数组或二维数组作为参数使用不同的过程。
最佳答案
现在最简单的方法是使用带有 _Generic
的宏.这是一个显示如何使用它的示例。
#define cbrt(X) _Generic((X), \
long double: cbrtl, \
default: cbrt, \
float: cbrtf \
)(X)
因此,根据类型,此宏将替换为对 cbrtl()
、cbrtf()
或 cbrt() 之一的调用
。
关于c - 函数取决于 C 中的数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28704149/