Je Vector
classe, ce qui représente un point 3D, rédigé comme suit dans Vector.h
:C++ instanciation
class Vector {
public:
float x,y,z;
Vector(float _x=0.0,float _y=0.0,float _z=0.0){x=_x;y=_y;z=_z;};
operator float *() { return &x;};
};
Je déclare également extern vector<Vector>model_vertices;
sur model.h
Sur un fichier model.cpp
je mets en œuvre Vector.h
et Déclarez une std::vector<Vector>model_vertices; globally
(oui, je sais que le vecteur/Vector est confus, mais je dois utiliser le nom de vecteur pour la cohérence).
Sur model.cpp
, lors de l'initialisation du contenu de ce vecteur j'utilise une boucle avec le contenu suivant:
float X,Y,Z;
offFileStream>>X;
offFileStream>>Y;
offFileStream>>Z;
Vector v=new Vector(X,Y,Z);
model_vertices[loadVertexIndex]=v;
Je reçois l'erreur suivante:
error C2440: 'initializing' : cannot convert from 'Vector *' to 'Vector'
Pourquoi?