Let\'s say I have this class:
class Test
{
public:
Test();
};
AFAIK, compiler provides default copy constructor and assignment operator
According to section 12.8 Copying and moving class objects of the C++ Standard
7 If the class definition does not explicitly declare a copy constructor, one is declared implicitly. If the class definition declares a move constructor or move assignment operator, the implicitly declared copy constructor is defined as deleted; otherwise, it is defined as defaulted (8.4).
18 If the class definition does not explicitly declare a copy assignment operator, one is declared implicitly. If the class definition declares a move constructor or move assignment operator, the implicitly declared copy assignment operator is defined as deleted; otherwise, it is defined as defaulted (8.4).
So in your case and the copy constructor and the copy assignment operator are implicitly declared by the compiler but defined as deleted.