c oder doch c++
-
Hacker schrieb:
Dravere schrieb:
Ich mache keine Redefinition. Ich mache eine Definition und eine Deklaration.
Klar. War auch schlecht umschrieben, nur sind die Übergabeparameter der Deklaration und der Definition unterschiedlich, also...
Also was? Das spielt keine Rolle.
Hacker schrieb:
Nun, ich verstehe nicht wieso man es nicht so macht:
Probier dein Code für
BLUB_UNIXzu kompilieren, nachdem du natürlich den Fehler korrigiert hast. Du hast nämlich einmalBLUB_LINUXund einmalBLUB_UNIX
Jedenfalls es kommt dann der folgende Fehler oder so ähnlich:
error: too many arguments to function 'foo'Grüssli
-
Edit: Einen weiter unten.
-
Dravere schrieb:
Jedenfalls es kommt dann der folgende Fehler oder so ähnlich:
error: too many arguments to function 'foo'Grüssli
Äh Nein? Es kommt kein Fehler, keine Warnung.
-
Hacker schrieb:
Du bist doof.
Verstehst du eigentlich wie peinlich das ist?
-
cooky451 schrieb:
Hacker schrieb:
Du bist doof.
Verstehst du eigentlich wie peinlich das ist?
Gut, gut. Schon weg. Nur, wieso postet er dann was nicht stimmt?
-
@Hacker,
Du willst mich auf den Arm nehmen? Wie wäre es, wenn du das Makro BLUB_UNIX definierst, wie ich es dir gesagt habe.Ich habe nur ein
#define BLUB_UNIXam Anfang eingefügt.
http://ideone.com/8yFtrAlso nochmals, wie war das mit dem "doof"?

Grüssli
-
Hacker schrieb:
Gut, gut. Schon weg. Nur, wieso postet er dann was nicht stimmt?
Ich meinte nicht das "du bist doof". Ich meinte die ganze Diskussion. Was soll das? Das Sprachmittel ist offensichtlich nicht das sinnvollste, sonst hätte C++ es nicht rausgeworfen. Aber gerade dass C++ es rausgeworfen hat ist doch Tatsache, und ich verstehe nicht, wie man diese Tatsache verschwinden lassen will. Dass du das Sprachmittel blöd findest ändert doch überhaupt nichts.
-
@Dravere: In der "doku", oder was auch immer sonst, muss erklärt werden, dass die Funktionen auf unterschiedlichen Betriebssystemen unterschiedlich deklariert (und definiert natürlich) werden.
Das mit dem doof stimmt schon irgendwie
:p , denn wieso sollte man überhaupt die Funktion auf verschiedenen Betriebssystemen unterschiedlich deklarieren und dann nur eine Anwendung kennen? Es muss doch (offensichtlich) einen Grund geben, wieso sie unterschiedlich ~ werden.
-
Also so langsam ...
Ich habe hier die Deklaration abgeändert, wie ich es weiter vorne schon gesagt hatte. Und es funktioniert hier mit
#define BLUB_UNIXund auch ohne:
http://ideone.com/jQNTb
http://ideone.com/2YfHZDie Deklaration ist auf allen Betriebsystemen die gleiche und nicht unterschiedlich! Der Aufruf ist überall gleich! Die Implementation ist anders, weil gewisse Parameter auf gewissen Betriebsysteme halt nicht benötigt werden. Aber wie gesagt, über Sinn und Unsinn von so einem Feature müssen wir hier gar nicht debattieren, weil es darum gar nicht geht!
*grosser Seufzer*

Grüssli