명시적 디폴트 생성자 삭제와 디폴트 파라미터에 관련해서 공부하구 있는데요
아래 코드가 컴파일이 안되는 이유가 궁금합니다..
class A
{
public:
string mStr;
A() = delete;
A(string str = "str") : mStr(str) {};
};
int main() {
A a;
return 0;
}
error C2668: 'A::A': 오버로드된 함수에 대한 호출이 모호합니다.
디폴트생성자 A()를 delete키워드를 이용해 명시적으로 삭제를 해줬는데 왜 모호하다고 하는걸까요?