?
Hallo zusammen
ich habe ein Problem beim einfuegen einer Header Datei. Wenn ich sie kompilieren will dann kommt folgende Fehlermeldung:
g:\Program Files\Microsoft Visual Studio .NET\Vc7\include\xmemory(87): error C2535: 'std::allocator<_Ty>::pointer std::allocator<_Ty>::address(std::allocator<_Ty>::reference) const' : member function already defined or declared
with
[
_Ty=const std::_Tree<std::_Tmap_traits<const LineIndex,int,LineIndexComparator,std::allocator<std::pair<const LineIndex,int>>,false>>::key_type
]
Woran liegt das? Ich habe bereits herausgefunden dass er meine map<> Deklaration nicht mag. Aber wieso? Fehlt da noch irgendwo ein include oder sowas? Meine h-Datei sieht so aus:
#pragma once
#include <math.h>
#include <map>
#include <list>
#include "Func.h"
#include "NNSearch.h"
#include "SurfaceCubeHelpers.h"
using namespace std;
class SurfaceCubes
{
Func * func;
int steps;
double minxyz[3];
double maxxyz[3];
int maxind[3];
double eps;
Surface * surf;
int count_function_evals;
int count_function_lookups;
int count_cubesurf_tests;
int count_cubesurf_lookups;
int count_vertex_lookups;
map<const Index,double,IndexComparator> evalMap;
map<const Index,int,IndexComparator> seenBoxes;
map<const LineIndex,int,LineIndexComparator> vertexNumberMap;
NNSearch * checkboundary;
double boundary_distance;
public:
SurfaceCubes(Func * func, double * minxyz, double * maxxyz, double eps,
NNSearch * checkboundary, double boundary_distance);
~SurfaceCubes(void);
void march(double *, int, Surface *);
private:
void key2Pos(const Index&, double);
bool keyValid(const Index&);
double eval(const Index&);
double eval(int, int, int);
bool isBoxSeen(const Index&);
double getOffset(double, double);
void doCubeSurfacing(const Index&,double);
int RegisterVertex(Index, double, Index, double);
bool testBoxForSurface(const Index&);
void addNeighbours(const Index&, list<Index>& );
};
Waere super wenn mir jemand weiterhelfen koennte.
Viele Gruesse
Samo