다음을 통해 공유


컴파일러 오류 C3409

빈 특성 블록은 사용할 수 없습니다.

설명

대괄호는 컴파일러에서 특성 블록으로 해석되었지만 특성을 찾지 못했습니다.

컴파일러는 람다 식 정의의 일부로 대괄호를 사용할 때 이 오류를 생성할 수 있습니다. 이 오류는 컴파일러가 대괄호가 람다 식 정의의 일부인지 특성 블록의 일부인지 확인할 수 없는 경우에 발생합니다. 람다 식에 대한 자세한 내용은 람다 식을 참조하세요.

이 오류를 해결하려면

  1. 대괄호가 특성 블록의 일부인 경우:

    1. 특성 블록에 하나 이상의 특성을 제공합니다.

    2. 특성 블록을 제거합니다.

  2. 대괄호가 람다 식의 일부인 경우 람다 식이 유효한 구문 규칙을 따르는지 확인합니다.

    람다 식 구문에 대한 자세한 내용은 람다 식 구문을 참조 하세요.

예제

다음 예제에서는 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 {}();
}

참고 항목

attribute
람다 식
람다 식 구문