Klassendeklaration in einer if-anweisung
-
Hallo,
ich komme mit folgendem Problem nicht weiter.Ich will einen umfangreichen Generator von zufallsreihen erstellen und nutze dabei die Net.klassen von Visual C+.
Ein grundlegender Unterschied in der Methode ist: replizierbare oder föllige Zufallswerte. Da die Folgefunktionen komplett idenisch sind dachte ich:
double zufallszahl (double min, double max, int fix)
{ /* fix = 0, frei Zufallszahl, >0 definierte Zufallsreihe*/if (fix == 0) Random ^zufall = gcnew Random();
else Random ^zufall = gcnew Random(fix);zahl = zufall->NextDouble(min,max+1);
...Beide Deklationen funktionen tip top, jedoch als bedingte if-deklartion kommt der compilierungsfehler.:
"error C2227: Links von "->Next" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden.Wer weiß rat?
Ich habe shon daran gedacht für "fix" time-werte einzufügen, was dem () zwar gleichkommt, ader so etwas muss doch gehen, oder?
-
Random ^zufall; if (fix == 0) zufall = gcnew Random(); else zufall = gcnew Random(fix); zahl = zufall->NextDouble(min,max+1);
-
funktioniert perfekt, danke
-
Dieser Thread wurde von Moderator/in pumuckl aus dem Forum 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.
-
Wenn du nur 1 und 0 hast solltest du statt int lieber bool nutzen, das ist dafür eher geeignet.
mfG
Alex
-
Danke für den bool-Hinweis,
"fix" soll aber definitiv auch unterschiedliche Werte annehmen um mit alternativ wiederkehrenen Zufallsdatenreihen in Simulationen zu arbeiten.