Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] błąd "expected constructor, destructor, or type conversion before '(' token" przy funkcji srand(time(NULL));

Ostatnio zmodyfikowano 2013-10-30 10:10
Autor Wiadomość
DzieckoBezZycia
Temat założony przez niniejszego użytkownika
[C++] błąd "expected constructor, destructor, or type conversion before '(' token" przy funkcji srand(time(NULL));
» 2013-10-29 19:31:36
Siema!
Od pewnego czasu robie grę i chciałem, żeby postać wyświetlała mi sie w pseudolosoych miejscach, ale niestety robiąc tak:

C/C++
#include <time.h>

[ 19 linijka ] srand( time( NULL ) );

int paczka2_posx =( rand() % 3000 ) + 500;
int paczka2_posy =( rand() % 800 ) + 200;

Code::Blocks robi się smutny i pokazuje:

|19|error: expected constructor, destructor, or type conversion before '(' token

Czym może być to spowodowane?
P-94797
pekfos
» 2013-10-29 20:20:50
A dołączasz <ctime> i <cstdlib>?
P-94810
DzieckoBezZycia
Temat założony przez niniejszego użytkownika
» 2013-10-29 21:02:25
Po dołączeniu wyświetla ten sam błąd.
P-94816
pekfos
» 2013-10-29 21:08:50
Kod z linii 19 nie może być poza funkcją.
P-94818
DzieckoBezZycia
Temat założony przez niniejszego użytkownika
» 2013-10-30 09:02:20
Dzięki! :D
Wczoraj w nocy pomyślałem o zrobieniu czegoś takiego. ;p
Pomyślałem wtedy, że srand potrzebuje czasu, który upływa pod czas, gdy program jest wykonywany. Ale to na pewno nie o to chodzi.


Dzięki wielkie tak poza tym za odpowiedź, bo przypomniałeś mi o spróbowaniu wstawienia do int main'a. :D

A mógłbyś mi jeszcze wyjaśnić, dlaczego musi być w funkcji? Tak, żebym wiedział na przyszłość.

Z góry dziękuję.

P-94833
Monika90
» 2013-10-30 10:10:46
Jak przeniesiesz
srand( time( NULL ) );
 do main(), to te dwa wywołania rand:
rand() % 3000 + 500
 i
rand() % 800 + 200;
 też musisz przenieść, gdyż w przeciwnym wypadku wykonają się one przed main() i w związku z tym będą zawsze zwracać te same liczby.
P-94838
« 1 »
  Strona 1 z 1