07. februar 2004 - 15:19Der er
8 kommentarer og 1 løsning
Hvorfor rand() og ikke std::rand()
Jeg har sat mig for at lære C++, og derfor har jeg købt mig en tyk bog om emnet. Bogen gennemgår en masse eksempler, som jeg så prøver at kompilere. Med bogen fulgte en compiler (Quincy 99), men da jeg i forvejen havde Microsoft Visual C++ har jeg i stedet valgt at bruge denne. Derfor tror jeg nok at kodeeksemplerne i bogen virker - hvis jeg ellers brugte den anden compiler.
Mit spørgsmål er, hvorfor kan jeg ikke bruge funktionerne std::rand() og funktionen std::srand()?
Compileren giver følgende fejl når jeg prøver: error C2039: 'rand' : is not a member of 'std'
Hvis jeg så ændrer std::rand() til rand(), og std::srand() til srand(), så forløber kompileringen fejlfrit!
Er der nogen der har et bud på hvorfor jeg ikke kan bruge funktionen som den står i bogen (og i uhyre mange tutorials på nettet). Og er der muligvis andre funktioner der ikke findes i standard C biblioteket?
Det skulle jeg mene, dette lille eksempel kompilerer uden problemer med Borland Builder og gcc (cygwin), mens MS VC++ netop siger: r.cpp(10) : error C2039: 'rand' : is not a member of 'std'
#include <iostream> #include <cstdlib>
int main(void) { int i; for(i = 0; i < 10; i++) { std::cout << std::rand() << std::endl; } return 0; }
Damn, så er der bare min compiler der er noget gammel hø! *G*
bertelbrander og jpk >> hvis i smider et svar hver, så skal jeg give point. Nu gider jeg ikke bruge mere tid på det. Jeg må se om jeg kan få en billig compiler gennem en eller anden studerende :P
Nå fedt, der står at det er til forældre med hjemmeboende skolebørn... godt at have små søskende :) Og tilmed en mor der er lærer *G* Så er det jo bare om at komme i banken *LOL*
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.