I had an incomprehensible mistake that I could not handle, and I could not understand where it came from. I use Visual Studio 2015.
1> dexmath.h (465): error C2280: '_4matrix :: _ 4matrix (const _4matrix &)': attempting to reference a deleted function
1> dexmath.h (484): note: compiler has generated '_4matrix :: _ 4matrix' here
.h
class D_EXPORT _4matrix { public: _4matrix ( _point m00, _point m01, _point m02, _point m03, _point m10, _point m11, _point m12, _point m13, _point m20, _point m21, _point m22, _point m23, _point m30, _point m31, _point m32, _point m33 ); _4matrix(void); static _4matrix identity(void) { return _4matrix(); } inline static _4matrix zero(void) { return _4matrix( 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f ); } union { _4point d_4p32[4]; _point d_p32[4][4]; _32un d_u32[4][4]; }; };
.cpp
_4matrix::_4matrix ( _point m00, _point m01, _point m02, _point m03, _point m10, _point m11, _point m12, _point m13, _point m20, _point m21, _point m22, _point m23, _point m30, _point m31, _point m32, _point m33 ) { d_p32[0][0] = m00; d_p32[0][1] = m01; d_p32[0][2] = m02; d_p32[0][3] = m03; d_p32[1][0] = m10; d_p32[1][1] = m11; d_p32[1][2] = m12; d_p32[1][3] = m13; d_p32[2][0] = m20; d_p32[2][1] = m21; d_p32[2][2] = m22; d_p32[2][3] = m23; d_p32[3][0] = m30; d_p32[3][1] = m31; d_p32[3][2] = m32; d_p32[3][3] = m33; } _4matrix::_4matrix(void) { d_p32[0][0] = 1; d_p32[0][1] = 0; d_p32[0][2] = 0; d_p32[0][3] = 0; d_p32[1][0] = 0; d_p32[1][1] = 1; d_p32[1][2] = 0; d_p32[1][3] = 0; d_p32[2][0] = 0; d_p32[2][1] = 0; d_p32[2][2] = 1; d_p32[2][3] = 0; d_p32[3][0] = 0; d_p32[3][1] = 0; d_p32[3][2] = 0; d_p32[3][3] = 1; }
union { _4point d_4p32[4]; _point d_p32[4][4]; _32un d_u32[4][4]; };
union { _4point d_4p32[4]; _point d_p32[4][4]; _32un d_u32[4][4]; };
here it is_4point d_4p32[4];
- Leon Zharikov