Aufruf ausserhalb Funktion...



  • Ich habe hier einen Code...

    Warum funktioniert "int a=test()" und einfach "test()" nicht. In main funktioniert das ja problemlos. Ok test sollte zwar im main stehen - nur finde ich keinen Grund warum das auch ausserhalb nicht gehen sollte. Gibt es eine Lösung dazu (am besten ohne dummy Variablen - irgendwie universell mit Templates???)

    #include <iostream.h>
    #include <stdlib.h>

    int test()
    {
    cout<<"haha"<<endl;
    return 10;
    };

    int a=test();
    //test();

    int main()
    {
    system("PAUSE");
    return 0;
    }



  • ich versuch mal eine antwort:

    int a=test();
    ist die deklaration einer variable und funktioniert deshalb auch ausserhalb von funkionen (glaub zwar nicht dass das geht, aber gerade kein compiler und wenn du schreibst, dass es geht wirds auch gehen 😉

    test();
    ist der aufruf der funktion test.
    vorher soll der comp wissen, wann es ausgeführt werden soll?
    "Ok test sollte zwar im main stehen"
    dann mach das doch so 😉



  • "woher soll der comp wissen, wann es ausgeführt werden soll?"

    er führt solange aus, bis er auf start() trifft

    es muss doch eine möglichkeit geben - das sieht mit nach einer absichtlich eingebauter grenze aus - und sowas hasse ich wie die Pest...



  • was ist denn start() ?
    was spricht dagegen, das einfach in main() zu schreiben?



  • bin auch von perl gewohnt, daß ich in die mudul einfach so code reinpacken kann. ist sehr angenehm.



  • jo verschrieben ... start()=main()


Anmelden zum Antworten