Warum sind Funktionszeiger und Datenzeiger in C / C ++ nicht kompatibel?

Ich habe gelesen, dass das Konvertieren eines Funktionszeigers in einen Datenzeiger und umgekehrt auf den meisten Plattformen funktioniert, jedoch nicht garantiert ist. Warum ist das so? Sollten nicht beide einfach Adressen in den Hauptspeicher und damit kompatibel sein?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage