Präprozessorkonstanten - Aussage im Tutorial korrekt?



  • Huhu

    Ich lese gerade ein bisschen in einem hier geposteten Tutorial und da bin ich beim Präprozessor auf folgendes gestossen:

    Wir könnten theoretisch schreiben #define grassland_path "12.png", aber das würde auch ein change_grassland_path durch change_"12.png" ersetzen, was natürlich ungültig wäre, deswegen sind Konstanten vorzuziehen.

    Ist das wirklich so? Bei meinem Beispiel funktioniert alles wie es sollte:

    #include <iostream>
    #include <string>
    
    #define grassland_path "12.png"
    
    using namespace std;
    
    int main()
    {
    
    	string change_grassland_path = "15.png";
    
    	cout << "grass path: " << grassland_path << endl;
    	cout << "grass path img: " << change_grassland_path << endl;
    
    }
    

    Oder wie darf ich diesen Satz verstehen? Falls die Aussage doch stimmt, kann mir einer ein einfaches Beispiel liefern?



  • Ist falsch.

    Aber nicht gleich das Tut ablehnen. Es ist zwar nicht das, was ich unter einem Tut verstehe, aber der Autor ist offensichtlich kein Programmiernube und es ist in vielen Detailentscheidungen erstaunlich korrekt und tiefgründig. Harte Kost, aber dafür keine Lügen wie in der Schule, nur um was zu vereinfachen. Der Fehler wundert mich. Frag ihn mal, ob er bei dieser Seite nur bekifft war oder doch ein Nube ist, und berichte hier.



  • #define path "ERROR !"

    namespace test
    {
    int path;
    }

    int main()
    {
    test::path = 10;
    }



  • @volkard
    Bis jetzt haben mir die Ausführungen sehr gut gefallen. Habe gerade beim Thema Präprozessor vieles erst jetzt richtig verstanden. Ich schreib den Autor vielleicht mal an und frage nach.

    @asdfasd
    Stimmt, das geht nicht. Ist aber auch etwas anderes als das oben gepostete.

    Thx für die Antworten.



  • icarus2 schrieb:

    Ich schreib den Autor vielleicht mal an und frage nach.

    Nicht nur vielleicht. Das bist Du ihm schuldig. Denn er hat Dir viel geholfen, wie Du schriebst, und Du hilfst ihm natürlich auch damit, ein Fehlerchen zu wegmachen. Ist ja auch supi, daß er es kostenlos ins Netz stellt, statt ein Buch rauszugeben, für das man viel Geld zahlen muß. Du mußt ihn ja nicht gleich fragen, ob er bekifft war. Manchmal hat man auch was falsch verstanden oder sogar falsche Quellen. Mir hat ein Professor gesagt, printf sei ein Makro und ich hab's viele Jahre lang ehrlich geglaubt. Ich brauchte ja auch nie Ellipsen. Der Autor braucht vielleicht nie Makros, weil er stets moderne Auswege wie const, templates und inline(automatisch) kennt.



  • Ich würde den Autor ja gerne anschreiben. Aber ich habe jetzt ziemlich lange gesucht und leider nichts gefunden. Ich glaube, dass sich der Autor Ankou nennt. Aber ich habe keine Möglichkeit gefunden den zu kontaktieren oder so.

    Oder findest du hier etwas?



  • icarus2 schrieb:

    Ich würde den Autor ja gerne anschreiben. Aber ich habe jetzt ziemlich lange gesucht und leider nichts gefunden. Ich glaube, dass sich der Autor Ankou nennt. Aber ich habe keine Möglichkeit gefunden den zu kontaktieren oder so.

    Oder findest du hier etwas?

    http://www.rpg-studio.de/forum/user/3274/ankou/

    MfG SideWinder



  • Danke SideWinder, ich werd ihm morgen schreiben.

    Gn8



  • nicht mehr nötig 😉



  • Jop, hab gesehen, dass der Fehler bereits korrigiert worden ist.


Anmelden zum Antworten