Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » srand(), rand(), time() identifier not found

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
18.05.2006, 00:40 Uhr
~wauschi
Gast


Ich erstelle mit dem VS .NET 2005 eine DLL in welcher in einen Random-Generator verwenden möchte.

Es wird vorgeschlagen (auch in der MSDN) die Function rand() zu nehmen.
Leider bekomme ich immer:

error C3861: 'rand': identifier not found

Der unten angeführte, einfache Code bringt mich zur Verzweiflung.
Habt ihr eine Idee????
Ich bin mit meinem Witz am Ende.... :-(


C++:

#include <stdlib.h>
#include <stdio.h>
#include <time.h>

#include "stdafx.h"

#ifdef _MANAGED
#pragma managed(push, off)
#endif

float Angle;
unsigned int Position;

BOOL APIENTRY DllMain( HMODULE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
                     )
{
    return TRUE;
}

void ReadSSI(unsigned int * val){
    static unsigned int ssiVal = 0;
    ssiVal++;
    /* initialize random generator */
    srand ( (unsigned)time(NULL) );
    ssiVal = ssiVal+(rand()%2);

    Position = ssiVal;
    Angle = ssiVal*0.351;

    *val = ssiVal;
}



mod edit: BENUTZE DIE CPP TAGS SELBER

Dieser Post wurde am 18.05.2006 um 01:23 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
18.05.2006, 11:47 Uhr
Th



Ich meine, der include "stdafx.h" muß immer als erstes in der Datei stehen...

Evtl. auch noch "using namespace std; " hinzufügen...

Dieser Post wurde am 18.05.2006 um 11:49 Uhr von Th editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
18.05.2006, 12:39 Uhr
kronos
Quotenfisch
(Operator)



Zitat von Th:
Ich meine, der include "stdafx.h" muß immer als erstes in der Datei stehen...

Evtl. auch noch "using namespace std; " hinzufügen...

Sorry, das ist Quark.
Bin allerdings auch ratlos... ist das die einzige Fehlermeldung ?
--
main($)??<-$<='?'>>2?main($-!!putchar(
(("$;99M?GD??(??/x0d??/a:???;a"+'?'/4)
??($??)+'?'/3-2-1+$%2)??''?')):'?';??>
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
18.05.2006, 14:19 Uhr
mischa
Fragender


versuch mal iostream zu inkludieren
ich weiß klingt blöd aber ich hatte auch mal dieses problem hab dann so gelöst
--
Latein Unterricht ist die spätere Rache der Römer an den Germanen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
18.05.2006, 16:04 Uhr
~wauschi
Gast


...AND THE WINNER IS: Th

Ich habe lediglich die Zeile:
#include "stdafx.h"
an den Anfang gestellt und alles hat sofort funktioniert!!!!

DANKE
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
18.05.2006, 16:14 Uhr
J-jayz-Z
Perl Crack ala Carte
(Operator)


Hmm, das wundert mich gerade. Seid wann macht es einen Unterschied, in welcher Reihenolge die include Anweisungen in einer Datei stehen ... ?!
--
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
18.05.2006, 17:29 Uhr
kronos
Quotenfisch
(Operator)



Zitat von J-jayz-Z:
Hmm, das wundert mich gerade. Seid wann macht es einen Unterschied, in welcher Reihenolge die include Anweisungen in einer Datei stehen ... ?!

Wenn in den headern Funktionsaufrufe stehen (stdafx.h), die in anderen headern (stdlib.h) deklariert werden, welche aber erst im programm-code eingebunden werden...
--
main($)??<-$<='?'>>2?main($-!!putchar(
(("$;99M?GD??(??/x0d??/a:???;a"+'?'/4)
??($??)+'?'/3-2-1+$%2)??''?')):'?';??>

Dieser Post wurde am 18.05.2006 um 17:29 Uhr von kronos editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
18.05.2006, 17:34 Uhr
J-jayz-Z
Perl Crack ala Carte
(Operator)


Wenn das so ist, ist es doch Falschrum, oder ?

Aufruf(stdafx.h) -> deklaration(stdlib.h)

Würde dann doch so aussehen:


C++:
#include <stdlib.h>
#include <stdafx.h>



Wenn mich mein logisches denkvermögen nicht trübt.
Noch dazu, wieso includiert man stdlib.h nicht einfach in stdafx.h ?
Komische Welt ...
--
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
18.05.2006, 19:16 Uhr
xXx
Devil


öhm so ist es falsch muss normalerweise #include "stdafx.h" heißen... nach http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_CRT_rand.asp hat er aber keine Header vergessen... komisch...


PS: HAST DU DAS PLATFORM SDK INSTALLIERT?!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
18.05.2006, 20:11 Uhr
~gast
Gast


Microsoft Schwerwiegender Fehler C1010 (VS2005)

Vergewissern Sie sich, dass Sie die Headerdatei für das aktuelle Projekt (standardmäßig stdafx.h) nicht versehentlich gelöscht, umbenannt oder entfernt haben. Diese Datei muss mithilfe von #include "stdafx.h" vor jedem anderen Code in den Quelldateien eingebunden werden. (Diese Headerdatei wird als PHC durch Datei erstellen/verwenden-Projekteigenschaft angegeben.)

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: