error C2664 HILFEEEEEE
-
Hallo alle zusammen,
habe seit einiger Zeit folgendes Problem beim Kompilieren von dem unten stehendem Quelltext:c:\angewandteinfo\10-5\10-5.cpp(73) : error C2664: 'time': Konvertierung des Parameters 1 von 'long *__w64 ' in 'time_t *' nicht möglich
Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.Wass ich allerdings nicht verstehe ist, dass der Fehler unter DEV-C++ nicht auftaucht.
#include <iostream> #include <stdlib.h> #include <time.h> using namespace std; int game(unsigned short zzz) { cout << "BINGO!!!\n"; } int main() { int s=1; char abf; long sek; unsigned short zzahl; float r; time(&sek); srand(sek); r = (float)rand()/(RAND_MAX+1); // Zahl zwischen 0 und 1 zzahl = (unsigned short)(1 + 15 * r); while (s) { game(zzahl); cout << "Wollen Sie noch mal spielen? "; cin >> abf; if (abf=='j') { s=1; } else { s=0; } } system ("pause"); }
Vielen Dank im voraus
ps: Ich benutze Visual C++ 2005
-
Per default ist unter VS2005 das time_t anders definiert, da es sonst zum (wohl bekannten) Jahr 2038 Bug kommt...
Wenn Du es so haben willst wie bisher, dann musst Du folgendes definieren:_USE_32BIT_TIME_T
-
Vielen Dank...