Hallo, ich bin gerade dabei, Breakanoid zu programmieren (nach dem Buch). Wenn ich nun kompilieren will, erhalte ich in CGame::Render() folgenden Compilerfehler:
[...]\breakanoid\cgame.cpp(123) : error C2664: 'IDirect3DDevice9:
etTransform': Konvertierung des Parameters 2 von 'tbMatrix' in 'const D3DMATRIX *' nicht möglich
Kein benutzerdefinierter Konvertierungsoperator verfügbar, der diese Konvertierung durchführen kann, oder der Operator kann nicht aufgerufen werden
die zeilen 121 bis 123 lautet folgendermassen:
|
C-/C++-Quelltext
|
1
2
3
|
// projektionsmatrix erstellen und aktivieren
mProjection = tbMatrixProjection(TB_DEG_TO_RAD(70.0f), D3D.GetAspect(), 0.1f, 50.0f);
D3D->SetTransform(D3DTS_PROJECTION, mProjection);
|
ich hab im forum und in google gesucht, und habe keine antwort auf dieses problem gefunden.
wenn ich in der headerdatei von tbMatrix nachsehe, gibt es da jedoch einen casting operator:
|
C-/C++-Quelltext
|
1
|
operator const D3DMATRIX& () const {return mD3DMatrix;}
|
hinweis: ich verwende die auf der cd vorhandene debug version von TriBase (-> TriBaseD.lib)