schuetzejanett
Erfahrenes Mitglied
Hallo, ich bin eigentlich ein java Programmierer, doch unser Prof. möchte gerne das wir OpenGl mit C++ Programmieren. Nun sollen wir einen Würfel als Flächenmodell darstellen. dafür habe ich 2 Klassen eine Klasse Face die jeweils eine Fläche kennzeichnet und eine Liste von Punkten bekommt und eine Klasse cube, für den Würfell. Unser Prof hat uns gesagt da wir nur einen Würfel machen, können wir die werte gleich hardcodiert angeben.
Nun habe ich erstmal eine Fläche erstellt, doch beim Kompilieren kommt folgender Fehler.
1>f:\visual studio projekte\opengl\virtuellewelten\template\cube.cpp(19) : error C2440: 'Initialisierung': 'Face *' kann nicht in 'Face' konvertiert werden
1> Quelltyp konnte von keinem Konstruktor angenommen werden, oder die Überladungsauflösung des Konstruktors ist mehrdeutig
Was ist verkehrt?
Hier die beiden Klassen.
Face.h
Face.cpp
Cube.h
cube.cpp
Nun habe ich erstmal eine Fläche erstellt, doch beim Kompilieren kommt folgender Fehler.
1>f:\visual studio projekte\opengl\virtuellewelten\template\cube.cpp(19) : error C2440: 'Initialisierung': 'Face *' kann nicht in 'Face' konvertiert werden
1> Quelltyp konnte von keinem Konstruktor angenommen werden, oder die Überladungsauflösung des Konstruktors ist mehrdeutig
Was ist verkehrt?
Hier die beiden Klassen.
Face.h
Code:
#pragma once
using namespace std;
class Face
{
public:
Face(vector<CPunkt3D>);
Face();
virtual ~Face(void);
void setVertices(vector<CPunkt3D>);
vector<CPunkt3D> getVertices();
private:
vector<CPunkt3D> verticesList ;
};
Face.cpp
Code:
#include "StdAfx.h"
#include "Face.h"
Face::Face(vector<CPunkt3D> vList)
{
verticesList = vList;
}
Face::Face()
{
}
Face::~Face(void)
{
}
void Face::setVertices(vector<CPunkt3D> vList)
{
verticesList = vList;
}
vector<CPunkt3D> Face::getVertices()
{
return verticesList;
}
Cube.h
Code:
#pragma once
class Cube
{
public:
Cube();
virtual ~Cube(void);
private:
vector<Face> faceList;
};
cube.cpp
Code:
#include "StdAfx.h"
#include "Cube.h"
Cube::Cube()
{
vector<CPunkt3D> vPointList;
vPointList[0].set(0.0,0.0,0.0);
vPointList[1].set(100.0,0.0,0.0);
vPointList[2].set(100.0,100.0,0.0);
vPointList[3].set(0.0,100.0,0.0);
Face f1 = new Face(vPointList);
}
Cube::~Cube(void)
{
}