명시적 디폴트 생성자 삭제와 디폴트 파라미터에 관련해서 공부하구 있는데요 <div>아래 코드가 컴파일이 안되는 이유가 궁금합니다..</div> <div><br></div> <div><div>class A</div> <div>{</div> <div>public:</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>string mStr;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>A() = delete;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>A(string str = "str") : mStr(str) {};</div> <div>};</div></div> <div><br></div> <div>int main() {</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>A a;</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>return 0;</div> <div>}</div> <div><br></div> <div>error C2668: 'A::A': 오버로드된 함수에 대한 호출이 모호합니다.</div> <div><br></div> <div>디폴트생성자 A()를 delete키워드를 이용해 명시적으로 삭제를 해줬는데 왜 모호하다고 하는걸까요?</div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.