암시적 유형 변환 및 템플릿 추론
암시적으로 int를 Scalar
제공된 코드에서:
<code class="cpp">func(a, 2);</code>
컴파일러는 int 2를 Scalar
<code class="cpp">func(a, Scalar<int>{2}); // C++14</code>
또는 C 17을 사용하는 경우 Scalar에 대해 추론 가이드를 정의하여 다음 구문을 허용할 수 있습니다.
<code class="cpp">func(a, Scalar{2});</code>
마지막으로 지정된 유형 인수를 사용하여 템플릿 함수를 명시적으로 인스턴스화하면 암시적 변환의 필요성을 우회할 수도 있습니다.
<code class="cpp">func<int>(a, 2); // Assuming Scalar<T>::Scalar(T) is not explicit</code>
위 내용은 사용자 정의 유형에 대한 암시적 유형 변환 시 템플릿 추론이 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!