컴파일러 오류 C3409
빈 특성 블록은 사용할 수 없습니다.
설명
대괄호는 컴파일러에서 특성 블록으로 해석되었지만 특성을 찾지 못했습니다.
컴파일러는 람다 식 정의의 일부로 대괄호를 사용할 때 이 오류를 생성할 수 있습니다. 이 오류는 컴파일러가 대괄호가 람다 식 정의의 일부인지 특성 블록의 일부인지 확인할 수 없는 경우에 발생합니다. 람다 식에 대한 자세한 내용은 람다 식을 참조하세요.
이 오류를 해결하려면
대괄호가 특성 블록의 일부인 경우:
특성 블록에 하나 이상의 특성을 제공합니다.
특성 블록을 제거합니다.
대괄호가 람다 식의 일부인 경우 람다 식이 유효한 구문 규칙을 따르는지 확인합니다.
람다 식 구문에 대한 자세한 내용은 람다 식 구문을 참조 하세요.
예제
다음 예제에서는 C3409를 생성합니다.
// C3409.cpp
// compile with: /c
#include <windows.h>
[] // C3409
class a {};
// OK
[object, uuid("00000000-0000-0000-0000-000000000000")]
__interface x {};
[coclass, uuid("00000000-0000-0000-0000-000000000001")]
class b : public x {};
다음 예제에서는 람다 식이 사양을 사용 mutable
하지만 매개 변수 목록을 제공하지 않으므로 C3409를 생성합니다. 컴파일러는 대괄호가 람다 식 정의의 일부인지 특성 블록의 일부인지 확인할 수 없습니다.
// C3409b.cpp
int main()
{
[] mutable {}();
}