Schlauchsteher beim erstellen von Zufallszahlen



  • Hallo,

    ich möchte eine Zufallszahl zwischen 0 und 1 erzeugen.

    Ich probiere das ganze mit dem Code

    Random^ randObj;
    double g;
    g = randObj->NextDouble();
    

    zu machen.

    Nach meinem Verständnis müßte doch jetzt eine Zahl zwischen 0.0 und 1 in der Varible g abgelegt sein

    Vom System bekomme ich beim starten der Form (wenn ich nur erstellen anwähle kommt kein Fehler) die Fehlermeldung.

    Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.

    Das ist doch wieder bestimmt ne ganz logische Meldung, aber ich verstehe sie nicht.

    Kann mir da jemand helfen?

    Vielen Dank schonmal

    :xmas1: Frohe Weihnachten und einen guten Rutsch ins neue Jahr :xmas2:

    wünscht euch der Felix



  • Dieser Thread wurde von Moderator/in estartu aus dem Forum MFC (Visual C++) in das Forum C++/CLI mit .NET verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Da ist so ein ^ im Code, das ist CLI. 😉



  • OK, dachte das es was allgemeines ist.



  • Es ist in gewissen Bereichen allgemein 😉

    Bevor du einen Zeiger dereferenzieren kannst, mußt du ihn erst auf ein gültiges Objekt umbiegen. Aktuell legst du nur einen Zeiger mit undefinerter Adresse an - und die Daten, die an dieser Adresse liegen, werden als Random-Objekt interpretiert (im ungünstigsten Fall erhältst du 'nur' Datenmüll, im Allgemeinen aber Zugriffsfehler bzw. eine Sicherheitsmeldung vom System). Besser sieht es so aus:

    Random^ randObj = gcnew Random();//gcnew ist afair eine new-Version für managed Objekte
    double g;
    g = randObj->NextDouble();
    

Anmelden zum Antworten