Variablen und Funktionen
-
ich hab mir das Buch "C++ Lernen und professionell anwenden" gekauft.
war sein geld wert.
-
Hmmm, bekomme den fehler das "std" keine Klasse ist und "rand" ein nichtdeklarieter bezeichner.
-
es gibt 2 möglichkeiten: entweder du includest keinen header oder die alten.
std::rand() ist in stdlib.h definiert,siehe deine compiler hilfe^^
-
Hab jetzt einfach mal den versuch gemacht:
#include <iostream.h> void main() { int i=(std::rand)()%10+10; cout<<i<<endl; }Und da kamen die fehler. Muss ich vorher noch eine Klasse entwerfen um die zufallszahlen zu benutzen?
-
alte header-.-
wir sind hier im c++ forum, da schreibt man "#include <iostream>", keine .h endung, das is mist
-
So, hab stdlib.h includet, jetzt ist rand schon mal kein undeklarierter bezeichner mehr. Jetzt bleibt nur noch das Prob mit std.
-
Hi,
du musst die cstdlib inkludieren. Dann ist es im std-Namespace.
-
Ja, hab schon mal gelsen das .h veraltet ist, aber wenn ich das weglasse bekomme ich Fehler...?
-
Hi,
das liegt daran, dass die Standard-Klassen (z.b. cout) dann im std-Namespace deklariert sind. Du musst dann anstelle von
cout
std::cout schreiben.
-
hab auch cstdlib da hab ich immer noch den Fehler. Aber wenn ich cstdlib.h includiere, hab ich eine Fehler das die include Datei nicht geöffnet werden kann.
-
#include <iostream> int main(int argc, char* argv[]) { std::randomize(); int i=(std::rand()%10)+10; std::cout<<i; return 0; }so einfach ist das.
randomize setzt den "seed" dh erst durch ihn arbeitet std::rand() korrekt(sonst returned er immer 0, dummes design)
-
aaaahhhh
Überall Fehler über Fehler!!! Kann es sein das mein Compiler zu alt ist? Wo bekomm ich eine aktuellen?
-
welchen hast du?
-
VC 98 müsste der heißen. Kenne mich da nicht so aus.
-
Mitlerweile sieht es mein code so aus *g*:
#include <iostream.h> #include <cstdlib> #include <stdlib.h> void main() { int i=(std::rand()%10)+10; std::cout<<i<<endl; }Und std ist immer noch keine Klasse oder Namespace.
-
KEIN .h
-
Okok
jetzt sieht der code so aus und ich hab einen ganz neuen fehler *g* (Wie viel probleme so eine zufallsvariable macht):
#include <iostream> #include <cstdlib> #include <stdlib.h> void main() { int i=(std::rand()%10)+10; std::cout<<i; }Fehler: 'rand' : Ist kein Element von 'std'
-
wie wäre es damit?
#include <iostream> #include <cstdlib> using namespace std; int main() { int i=(rand()%10)+10; cout<<i; return 0; }
-
erstmal: es Funktioniert!!!
Aber das Programm gibt immer 11 aus, also nichts mit Zufall *g*
-
wenn ihr mir dann noch bei dem funktionen problem helft bin ich euch auf ewig dankbar, stell keine nervigen Fragen mehr und hab genug Erfahrung für mein Aktzien Spiel!!!