Я прочел this вопрос, но это все еще не имеет для меня большого смысла. Он по-прежнему звучит скорее как функция покрытия сахаром.delete modifier vs declaring function as private
Какая разница между:
class A
{
// public/private ?
A (const A&) = delete;
};
и
class A
{
private:
A (const A&); // MISSING implementation
};
То же самое для operator=
или других функций.
Выполнение их 'private' не останавливает вас (разработчик класса), называя их случайно. – Simple
@ Простой - исполняемый файл не будет создан, если вы попробуете его называть. –
Я считаю, что это технически некорректная программа без необходимости диагностики. Вы также получите ошибку компоновщика, а не ошибку компилятора. – Simple