..weil da GCC14 mit bei ist, korrekt?
gcc-14 wird wohl nicht sehr beliebt sein, wenn ich die Details so lese.
Aber das Problem hier hat mit gcc wenig zu tun.
NULL ist auf low-level Ebene wirklich die 4-byte Ganzzahl Null '0', was man dann ein compiler allgemein als signed integer versteht. Ob das dann als 'integer', 'long (int)' oder 'long long (int)' in compiler messages auftaucht, das hängt wohl eher von der Architektur ab (x86, x86_64, aarch, aarch64, ...). Aber selbst die Anzahl bits && bytes ist Architektur abhängig. Und zum Glück gibt es ja heute keine 7-bit integer mehr.
nullptr dagegen ist ein pointer (Zeiger auf eine Speicherstelle), der per Definition auf nichts zeigt, nicht initialisiert ist (und weitere positive Eigenschaften hat..). Sehr wahrscheinlich wäre der compiler aber mit (void *) NULL ebenso zufrieden (type cast).