C 컴파일러가 기본 함수 인수에서 템플릿 유형 매개변수를 추론할 수 없는 이유는 무엇입니까?
컴파일러가 기본 함수 인수에서 템플릿 유형 매개변수를 추론할 수 없는 이유는 무엇입니까?
겉으로는 논리적인 가정에도 불구하고 C 컴파일러는 자동으로 템플릿을 추론할 수 없습니다. 기본 함수 인수의 유형 매개변수. 이는 서로 다른 이유로 C 03과 C 11 모두에 적용됩니다.
C 03에서 컴파일러의 무능력은 명시적인 언어 사양(§14.8.2/17)에서 비롯됩니다. "템플릿 유형 매개변수는 함수 기본 인수의 유형에서 추론됩니다."
C 11에서는 기본 템플릿 인수를 지정할 수 있지만 명시적으로 제공해야 합니다. 기본 함수 인수 자체는 템플릿 인수 추론에 사용할 수 없습니다.
<code class="cpp">void bar(int a, T b = 0.0f) { } // C++11</code>
C 11 표준(14.8.2.5/5)은 다음을 포함하는 추론되지 않은 컨텍스트를 정의합니다.
- "인수 추론이 이루어지는 호출에서 사용되는 기본 인수를 갖는 함수 매개변수의 매개변수 유형에 사용되는 템플릿 매개변수입니다."
결과적으로 명시적 조항 컴파일 오류를 방지하려면 기본 템플릿 인수가 필요한 경우가 많습니다.
위 내용은 C 컴파일러가 기본 함수 인수에서 템플릿 유형 매개변수를 추론할 수 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











C 언어 함수에 의해 반환 된 값 유형은 무엇입니까? 반환 값을 결정하는 것은 무엇입니까?

STL (정렬, 찾기, 변환 등)의 알고리즘을 효율적으로 사용하려면 어떻게합니까?
