For example is this correct:
class C
{
private:
C();
C(const & C other);
}
or you should rather provide definition(s):
class C
{
private:
C() {};
C(const & C other) {};
}
? Thanks for the current answers. Let's extend this question - does compiler generate better code in one of this examples? I can imagine that providing body for ctor forces compiler to include some (empty) code in compilation unit? Is this also true for auto-generated code?