2011-02-13 2 views
1

가능한 중복 :
What does the explicit keyword in C++ mean?명시 적 키워드

키워드를 명시 적으로 평균을 무엇

?

+8

생성자에 부적절한 콘텐츠가 있음을 나타내는 경고 메시지입니다. –

+0

[C++의 명시 적 키워드는 무엇을 의미합니까?] (http://stackoverflow.com/questions/121162/what-does-the-explicit-keyword-in-c-mean) –

답변

5

단 하나의 매개 변수를 가진 C++ 생성자는 자동으로 암시 적 유형 변환을 수행합니다. 예를 들어 생성자가 문자열 포인터 매개 변수를 예상 할 때 int를 전달하면 컴파일러는 int를 문자열 포인터로 변환해야하는 코드를 추가합니다. 그러나이 자동 동작을 항상 원하지는 않습니다.

암시 적 변환을 방지하기 위해 생성자 선언에 명시 적으로 추가 할 수 있습니다. 이렇게하면 코드에서 올바른 형식의 매개 변수를 사용하거나 매개 변수를 올바른 형식으로 캐스팅합니다. 즉, 캐스트가 코드에서 가시적으로 표현되지 않으면 오류가 발생합니다.

explicit (C++)