# [C] Bezeichner wurde nicht gefunden



## number_nine (21. Juni 2007)

Hallo,

ich benutze die Microsoft Visual C++ 2005 Express Editon und habe bei einer Funktion, die ich selbst nicht geschrieben habe, jetzt aber in ein Projekt einbinden wollte folgendes Problem: erstmal der Quelltext


```
#include <math.h>
#include "stdafx.h"

double gasdev(long *idum)
{
	double ran2(long *idum);
	static int iset=0;
	static double gset;
	double fac,rsq,v1,v2;

	if (*idum < 0) iset=0;
	if  (iset == 0) 
	{
		do 
		{
			v1=2.0*ran2(idum)-1.0;
			v2=2.0*ran2(idum)-1.0;
			rsq=v1*v1+v2*v2;
		} while (rsq >= 1.0 || rsq == 0.0);
		
		fac=sqrt(-2.0*log(rsq)/rsq);
		gset=v1*fac;
		iset=1;
		return v2*fac;
	} 
	else 
	{
		iset=0;
		return gset;
	}
}
```

Beim Kompilieren bringt er dann die Fehlermeldungen:
error C3861: "sqrt": Bezeichner wurde nicht gefunden.
error C3861: "log": Bezeichner wurde nicht gefunden.
und das obwohl ich ja die math.h einbinde.

Ich weiß mir keinen Rat mehr, vielleicht kann mir ja jemand von euch weiter helfen. Danke schonmal

Jeannine


----------



## deepthroat (21. Juni 2007)

Hi.

In C++ sollten die Header der C Standard-Bibliothek ohne Endung aber mit dem Präfix "c" eingebunden werden.

Also, probier mal 
	
	
	



```
#include <cmath>
```
Gruß


----------



## MCoder (22. Juni 2007)

Hallo Jeannine,

die Zeile *#include "stdafx.h"* sollte grundsätzlich immer an erster Stelle stehen. Das heißt, du solltest bei dir mal die Reihenfolge der Includes tauschen.

Viele Grüße
MCoder


----------



## number_nine (22. Juni 2007)

Hey,

vielen Dank für die Antworten, das Letztere hat geholfen.

Schönes Wochenende
Jeannine


----------

