Lambda 함수 및 Constexpr
질문: C에서 constexpr을 람다 함수와 함께 사용할 수 있습니까?
다음 코드 예제에서 컴파일러는 constexpr 함수 요구와 관련된 오류를 보고합니다.
<code class="cpp">struct Test { static const int value = []() -> int { return 0; } (); };</code>
답변:
업데이트( C 17): C 17부터 상수 표현식에 람다 함수가 허용됩니다.
C 17 이전: 현재 C 14에서는 상수 표현식에 람다가 허용되지 않습니다. , 특정 람다 표현식과 클로저 객체가 상수 표현식에 표시되도록 허용하는 제안(N4487)이 작성되었습니다.
이 제안이 수락되면 다음과 같은 변경 사항이 적용됩니다.
이 변경 사항은 암시적으로 정의된 생성자 및 할당 연산자 함수(해당하는 경우 constexpr로 추론될 수 있음)의 동작에 맞춰 조정됩니다.
위 내용은 C에서 `consexpr`과 함께 Lambda 함수를 사용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!