|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Dec 2003
Messaggi: 704
|
[c++] programmino semplice ma non va :-((
Ciao a tutti.. ho trovato in rete questo programmino che dovrebbe simulare una funzione matematica... ma non va.. come mai?
Codice:
#include <iostream> #include <math.h> using namespace std; float gaussdev(long *idum) { float ran1(long *idum); static int iset=0;static float gset; float fac,rsq,v1,v2; if (iset == 0) { do { v1=2.0*ran1(idum)-1.0; v2=2.0*ran1(idum)-1.0; rsq=v1*v1+v2*v2; } while (rsq >= 1.0 || rsq == 0); fac= sqrt(-2.0*log(rsq)/rsq); gset=v1*fac; iset=1; cout << v2*fac << endl; return v2*fac; }else {iset= 0; return gset;} cout << gset << endl; } [Linker error] undefined reference to `ran1(long*)' [Linker error] undefined reference to `WinMain@16' ![]() che cosa ho combinato? Mi potreste dare una mano? Grazie |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
a) C'è il prototipo e la chiamata ad una funzione ran1(), di cui però non vedo alcuna definizione. b) Manca un "entry-point", per i programmi tradizionali è la funzione main(). c) Per come hai impostato il progetto e la compilazione, stai cercando di creare una applicazione Win32 "gui", non console. La funzione WinMain è l'entry-point per applicazioni grafiche su Windows. Messo così, il sorgente ha poco senso e serve a nulla.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quel nome, ran1, mi ricorda i Numerical Recipes.
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:45.