2016-06-05 4 views
2

나는이 C++ 14에서 작동보고 깜짝 놀랐다 :자동 후행 반환 유형?

auto b() -> auto 
{} 

(11) C++에서 나는 오류 error: invalid use of 'auto'를 얻을.

이 코드는 어떻게 작동합니까?

답변

2

캡슐 요약 : C++ 14에서 람다 (또는 대부분의 경우 함수)의 반환 유형은 으로 주어질 수 있으며 컴파일러는 return 문을 기반으로 실제 반환 유형을 계산합니다 lamba/function에서.

이 경우 아무 것도 반환되지 않으므로 반환 유형은 void입니다.

+0

이 방법으로 선언 된 함수는 후행 형식이 아닌'auto function()'과 동일합니까? – Kundor

+0

@ 쿤도르, 그렇습니다. – chris