Expected Primary-Expression
-
Hallo!
Ich bin anfänger, und ich programmier grad einen zufallszahlengenerator, nur krieg ich jetzt immer diese Fehlermeldung: Expected Primary-Expression before"unsigned"
mein code sieht so aus:Dice::Dice(unsigned int seed)
{
srand(time(NULL));
}int Dice::roll()
{
srand(unsigned int seed);
int zufall= rand()%6+1;
return zufall;
}das sind objekte von einer klasse Dice. in der Dice::Dice möchte ich ein seed erzeugen das ich dann in Dice::roll zur erstellung einer zufallszahl benutze.
wie gesagt ich bin anfänger, und das is mittlerweile meine 100. version.
kann mir jemand helfen?
-
Dice::Dice(unsigned int seed) { srand(seed); } int Dice::roll() { return rand()%6+1; }
-
Jetzt bekomm ich ganz neue fehlermeldungen: "in dice.o ..blabla.. undefined reference to 'vtable for Dice'" und "undefined refernce to 'Dice::Dice()'
das steht in meiner klasse:
public:
Dice(unsigned int seed);
Dice();
virtual ~Dice();
int roll();
};
-
Naja du hast einen Virtuellen Destruktor, den nicht definiert. Einene Konstruktor, den du nicht brauchst usw.
struct dice { dice(const unsigned int seed); virtual ~dice(){} int roll(); }; dice::dice(const unsigned int seed) { std::srand(seed); } int dice::roll() { return std::rand()%6+1; }aber warum nimmst du den Code nicht wie wir den gegeben haben? Glaubst du wirklich das DU das besser kannst als WIR?
-
Naja es geht darum, dass ich mich an die vorgabe halten muss. Ich muss eine Klasse Dice mit einem Konstruktor mit der Signatur
Dice(unsigned int seed) anlegen. und die zufallszahl muss aus der systemzeit und dem seed generiert werden.
-
Marla666 schrieb:
Naja es geht darum, dass ich mich an die vorgabe halten muss. Ich muss eine Klasse Dice mit einem Konstruktor mit der Signatur
Dice(unsigned int seed) anlegen.Na dann brauchst Du den Konstruktor mit der Signatur Dice() ja nicht.

-
ja das hab ich übersehen
wie gesagt, bin anfänger. aber wie verwende ich den konstruktor Dice(unsigned int seed) im hauptprogramm?
bei mir sieht das so aus:int main()
{
Dice *my_dice=new Dice(unsigned int seed);das funktioniert nicht.
da krieg ich wieder die gleiche fehlermeldung wie am anfang.
-
naja du musst deinem konstruktor ja auch eine größe übergeben, zum beispiel als ganz normalen unsiged int wert.
-
Oh mein Gott! Es funktioniert!!!!!!
Danke euch allen!!!
Vielen vielen Dank!!!!!
Bin ich jetzt glücklich!!