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; } 

Closed due to the fact that off-topic participants Nick Volynkin , Vladimir Glinskikh , awesoon , aleksandr barakin , dizballanze 1 Aug '15 at 11:48 .

It seems that this question does not correspond to the subject of the site. Those who voted to close it indicated the following reason:

  • "The question is caused by a problem that is no longer reproduced or typed . Although similar questions may be relevant on this site, solving this question is unlikely to help future visitors. You can usually avoid similar questions by writing and researching a minimum program to reproduce the problem before publishing the question. " - Nick Volynkin, Vladimir Glinskikh, awesoon, aleksandr barakin, dizballanze
If the question can be reformulated according to the rules set out in the certificate , edit it .

  • Found a mistake. in 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

1 answer 1

dexmath.h (465): error C2280: '_4matrix :: _ 4matrix (const _4matrix &)': attempting to reference a deleted function

It literally translates as:

dexmath.h (465): error C2280: '_4matrix :: _ 4matrix (const _4matrix &)': attempt to use (refer to) remote function.

It looks like you deleted the function there, and you still call it in the code. See what on line 465 is called in dexmath.h .

I really hope that you are using a version control system and can roll back the story and see what kind of function was called there.

  • on the 465 line inline static _4matrix identity(void) { return _4matrix(); } inline static _4matrix identity(void) { return _4matrix(); } - Leon Zharikov