Pseudo-Generika in C

Ich muss einige Methoden implementieren, die Sachen mit verschiedenen Arten von Zahlenarrays machen. Normalerweise würde ich für diesen Job Generika verwenden, aber da C sie nicht bereitstellt, versuche ich jetzt, sie mithilfe von Makros zu emulieren.

Hier ist ein Beispiel, was ich versuche zu tun:

#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;
}

Dies wird jedoch nicht kompiliert. Die Clang-Fehlermeldung:

Fehler: erwartet ';' nach dem Deklarator der obersten Ebene

Gibt es eine Möglichkeit, dies in C zu tun? Oder muss ich das für jeden Typ von Hand umsetzen?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage