Pseudo-genericos en C
Necesito implementar algunos métodos que hagan cosas con diferentes tipos de matrices de números. Por lo general, usaría genéricos para ese trabajo, pero como C no los proporciona, ahora estoy tratando de emularlos usando macros.
Aquí hay un ejemplo de lo que estoy tratando de hacer:
#ifndef TYPE
#define TYPE int
#endif
TYPE get_minimum_##TYPE (TYPE * nums, int len){
TYPE min = nums[0];
for (int i = 1; i < len; i++) {
if (nums[i] < min) {
min = nums[i];
}
}
return min;
}
Sin embargo, esto no compilará. El mensaje de error clang:
error: esperado ';' despues de declarador de alto nivel
¿Hay alguna manera de hacer esto en C? ¿O necesito implementar esto para cada tipo a mano?