constexpr 함수에 레이블이 포함될 수 있습니까?
Nov 16 2020
이 프로그램 :
constexpr void f() { x: ; }
gcc에 의해 컴파일되지만 clang은 다음과 같이 말합니다.
error: statement not allowed in constexpr function
이 코드가 유효합니까?
답변
7 cigien Nov 16 2020 at 11:35
Nathan Pierson 의 주석 에서 지적했듯이 Clang은 정확하며 코드 형식이 잘못되었습니다. 현재 작업 초안 (C ++ 20 포함)에 따르면 dcl.constexpr # 3 은 다음과 같이 말합니다.
constexpr 함수의 정의는 다음 요구 사항을 충족해야합니다.
...
그 기능 본체는
...
식별자 라벨,
...
...