Wie schreibe ich ein Makro CHECK (a, b), das Kompilierungsfehler generiert, wenn die beiden Zeiger a & b einen anderen Basistyp haben.Wie erzeuge ich einen Kompilierungsfehler, wenn sich die Zeigertypen unterscheiden?
CHECK((int*)0, (char*)0) -> compilation error
CHECK((int*)0, (int*)0) -> works
Ich interessiere mich für einige C89-Code, aber C99 + gcc Erweiterungen werden auch tun.
Was meinst du mit „Basistyp“? –
für int * der Basistyp ist int – Alexandru
Können Sie im C++ - Modus kompilieren? Dann wäre es einfach. – sbi