가끔 기본 생성자를 제공하고 싶지 않고 컴파일러에서 내 클래스의 시스템 기본 생성자를 제공하지 못하게하려고합니다. 내 강사가 내 임무에서 그렇게 할 수 없습니다 현재기본 생성자를 삭제하는 방법은 무엇입니까?
class MyClass
{
public:
MyClass() = delete;
};
그러나 : C++ 11에서 내가 좋아하는 일을 할 수 있습니다. 질문은 : C++ 11 이전에 암시 적으로 기본 생성자를 제공하지 않도록 컴파일러에 알리는 방법이 있습니까?
Scott Meyers는 Effective Modern C++에서 저술 한 저서에서 정의없이 개인 생성자를 남겨 둘 수 있습니다. 친구 클래스에서 호출하는 기본 생성자를 보호하는 데 도움이됩니다 (링크 오류가 발생합니다). – MrPisarik