다음을 통해 공유


컴파일러 오류 C3400 ~ C3499

설명서의 이 섹션에 있는 문서에서는 컴파일러에서 생성된 오류 메시지의 하위 집합을 설명합니다.

Important

Visual Studio 컴파일러와 빌드 도구는 다양한 종류의 오류와 경고를 보고할 수 있습니다. 빌드 도구에서 오류 또는 경고가 발견된 후, 시도와 코드 의도를 추측하므로 더 많은 문제가 동시에 보고될 수 있습니다. 도구의 추측이 잘못된 경우 이후 오류나 경고를 프로젝트에 적용할 수 없습니다. 프로젝트에서 문제를 수정하는 경우 항상 보고된 첫 번째 오류나 경고에서 시작하고 자주 다시 빌드하십시오. 한 번의 수정으로 인해 이후에 발생하는 많은 오류가 사라질 수 있습니다.

Visual Studio에서 특정 진단 메시지에 대한 도움말을 보려면 출력 창에서 해당 메시지를 선택하고 F1 키를 누릅니다. Visual Studio에서는 해당 오류에 대한 설명서 페이지가 열립니다(있는 경우). 페이지 상단의 검색 도구를 사용하여 특정 오류나 경고에 대한 문서를 찾을 수도 있습니다. 또는 도구별 오류 및 경고 목록을 찾아보고 이 페이지의 목차에 입력합니다.

참고 항목

모든 Visual Studio 오류 또는 경고가 문서화되어 있는 것은 아닙니다. 대부분의 경우 진단 메시지는 사용 가능한 모든 정보를 제공합니다. F1 키를 사용하여 이 페이지를 방문했는데 오류 또는 경고 메시지에 추가 설명이 필요하다고 생각되면 알려 주시기 바랍니다. 이 페이지의 피드백 단추를 사용하여 GitHub에 설명서 문제를 제기할 수 있습니다. 오류나 경고가 잘못되었다고 생각하거나 도구 집합에서 다른 문제를 발견한 경우 Developer Community 사이트에 제품 문제를 보고합니다. IDE 내에서 피드백을 보내고 버그를 입력할 수도 있습니다. Visual Studio에서 메뉴 모음으로 이동하여 도움말 > 피드백 보내기 > 문제 보고를 선택하거나 도움말 > 피드백 보내기 > 제안 보내기를 사용하여 제안 사항을 제출합니다. 컴파일러에서 발생하지 않는 일부 컴파일러 오류 항목이 생성되었으며 이제 대신 이 페이지로 리디렉션됩니다.

Microsoft Learn Q&A 포럼에서 오류 및 경고에 대한 추가 지원을 찾을 수 있습니다. 또는 Visual Studio C++ Developer Community 사이트에서 오류 또는 경고 번호를 검색합니다. Stack Overflow를 검색하여 솔루션을 찾을 수도 있습니다.

추가 도움말 및 커뮤니티 리소스에 대한 링크는 Visual C++ 도움말 및 커뮤니티를 참조하세요.

오류 메시지

Error 메시지
컴파일러 오류 C3400 'constraint1' 및 'constraint2'와 관련된 순환 제약 조건 종속성입니다.
컴파일러 오류 C3401 'specifier': 어셈블리 액세스 지정자가 잘못되었습니다. 'private'만 클래스 템플릿에서 사용할 수 있습니다.
컴파일러 오류 C3402 '함수': 현재 범위를 제외하고 오버로드를 해결할 수 없습니다.
컴파일러 오류 C3403 thread_local은 /clr:pure 또는 /clr:safe와 함께 사용할 수 없습니다.
컴파일러 오류 C3404 'construct': 예기치 않은 구문 오류
컴파일러 오류 C3405 'function': 전체 설명자가 없으면 오버로드를 해결할 수 없습니다.
컴파일러 오류 C3406 'keyword': 상세 형식 지정자에서는 사용할 수 없습니다.
컴파일러 오류 C3407 이 컨텍스트에는 'type'를 사용할 수 없습니다.
컴파일러 오류 C3408 'attribute': 특성을 템플릿 정의에 사용할 수 없습니다.
컴파일러 오류 C3409 빈 특성 블록은 사용할 수 없습니다.
컴파일러 오류 C3410 'identifier': 명시적 인스턴스화 'type'의 형식이 변수 템플릿 'type'의 형식과 일치하지 않습니다.
컴파일러 오류 C3411 'type'는 정수 형식이 아니므로 배열의 크기로 유효하지 않습니다.
컴파일러 오류 C3412 'specialization': 템플릿을 현재 범위에서 특수화할 수 없습니다.
컴파일러 오류 C3413 'template': 잘못된 명시적 인스턴스화입니다.
컴파일러 오류 C3414 'function': 가져온 멤버 함수를 정의할 수 없습니다.
컴파일러 오류 C3415 여러 'section' 섹션이 다양한 특성('0xvalue')을 갖고 있습니다.
컴파일러 오류 C3416 사용되지 않습니다.
컴파일러 오류 C3417 'declarator': 값 형식은 사용자 정의 특수 멤버 함수를 포함할 수 없습니다.
컴파일러 오류 C3418 액세스 지정자 'specifier'는 지원되지 않습니다.
컴파일러 오류 C3419 사용되지 않습니다.
컴파일러 오류 C3420 'function': 종료자는 virtual일 수 없습니다.
컴파일러 오류 C3421 'function': 이 클래스의 종료자는 액세스할 수 없거나 존재하지 않으므로 호출할 수 없습니다.
컴파일러 오류 C3422 'declaration': 일치하지 않는 형식 'type' 및 'type'
컴파일러 오류 C3423 사용되지 않습니다.
컴파일러 오류 C3424 'type': 배열 형식으로의 함수 스타일 캐스트는 사용할 수 없습니다.
컴파일러 오류 C3425 는 불완전한 형식 'type' 개체에 대한 포인터를 throw할 수 없습니다.
컴파일러 오류 C3426 는 불완전한 형식 'type' 개체를 throw할 수 없습니다.
컴파일러 오류 C3427 'context': 'keyword'는 layout_version(number)과 함께 사용할 수 없습니다.
컴파일러 오류 C3428 'context': 'keyword'는 클래스 선언 또는 정의에만 적용할 수 있습니다.
컴파일러 오류 C3429 'context': 'keyword'를 union에 적용할 수 없습니다.
컴파일러 오류 C3430 범위가 지정된 열거형에는 이름이 있어야 합니다.
컴파일러 오류 C3431 'identifier': type1type2로 시 선언할 수 없습니다.
컴파일러 오류 C3432 'identifier': 범위가 지정되지 않은 열거형의 정방향 선언에는 내부 형식이 있어야 합니다.
컴파일러 오류 C3433 'identifier': 열거형의 모든 선언은 동일한 기본 형식이어야 합니다. 과거에는 'type1'이었고 지금은 'type2'입니다.
컴파일러 오류 C3434 'context': 열거자 값 'number'를 'type'으로 나타낼 수 없습니다. 값은 'number'입니다.
컴파일러 오류 C3435 문자 집합 'name'이 지원되지 않습니다.
컴파일러 오류 C3436 /source-charset, /execution-charset 또는 /utf-8이 지정된 경우 #pragma setlocale이 지원되지 않습니다.
컴파일러 오류 C3437 /source-charset, /execution-charset 또는 /utf-8이 지정된 경우 #pragma execution_character_set이 지원되지 않습니다.
컴파일러 오류 C3438 'context': 'value'는 관리/WinRT 클래스에 적용할 수 없습니다.
컴파일러 오류 C3439 layout_version(number): 잘못된 버전 번호
컴파일러 오류 C3440 'declaration': layout_version(number)은 이전 선언과 호환되지 않습니다.
컴파일러 오류 C3441 'declaration': 'keyword'는 클래스가 정의된 후에 적용할 수 없습니다.
컴파일러 오류 C3442 union의 여러 멤버 초기화: 'member1' 및 'member2'
컴파일러 오류 C3443 '클래스'의 기본 멤버 이니셜라이저가 재귀적입니다.
컴파일러 오류 C3444 빈 집계 클래스 'class'는 '{}'로 초기화해야 합니다.
컴파일러 오류 C3445 'type'의 copy-list-initialization은 명시적 생성자를 사용할 수 없습니다.
컴파일러 오류 C3446 'class': 기본 멤버 이니셜라이저는 값 클래스의 멤버에 대해 허용되지 않습니다.
컴파일러 오류 C3447 조건부 연산자에 피연산자 ?:은(는) 'void' 형식이지만 기타 피연산자가 throw 식이나 'void' 형식이 아닙니다.
컴파일러 오류 C3448 식별자 수는 구조적 바인딩 선언의 배열 요소 또는 멤버 수와 일치해야 합니다.
컴파일러 오류 C3449 식별자 수는 튜플과 유사한 형식의 구조화된 바인딩에서 std::tuple_size<type-name>::value 값과 일치해야 합니다.
컴파일러 오류 C3450 'type': 특성이 아닙니다. [System::AttributeUsageAttribute]/[Windows::Foundation::Metadata::AttributeUsageAttribute]를 지정할 수 없습니다.
컴파일러 오류 C3451 'attribute': 'type'에 관리되지 않는 특성을 적용할 수 없습니다.
컴파일러 오류 C3452 목록 인수 멤버가 상수가 아닙니다.
컴파일러 오류 C3453 'attribute': 'qualifier' 한정자가 일치하지 않아 특성이 적용되지 않았습니다.
컴파일러 오류 C3454 [attribute]는 클래스 선언에 사용할 수 없습니다.
컴파일러 오류 C3455 'attribute':해당 인수와 일치하는 특성 생성자가 없습니다.
컴파일러 오류 C3456 [source-annotation-attribute]는 관리/WinRT 클래스 선언에 사용할 수 없습니다.
컴파일러 오류 C3457 'attribute': 특성은 명명되지 않은 인수를 지원하지 않습니다.
컴파일러 오류 C3458 '[attribute]': '[attribute]' 특성이 'identifier'에 대해 이미 지정되어 있습니다.
컴파일러 오류 C3459 '[attribute]': 특성은 클래스 인덱서(인덱싱된 기본 속성)에만 사용할 수 있습니다.
컴파일러 오류 C3460 'type': 사용자 정의 형식만 전달할 수 있습니다.
컴파일러 오류 C3461 'type': 관리/WinRT 형식만 전달할 수 있습니다.
컴파일러 오류 C3462 'type': 가져온 형식만 전달할 수 있습니다.
컴파일러 오류 C3463 'type': 형식을 'implements' 특성에 사용할 수 없습니다.
컴파일러 오류 C3464 'type' 중첩 형식은 전달할 수 없습니다.
컴파일러 오류 C3465 'type' 형식을 사용하려면 'assembly' 어셈블리를 참조해야 합니다.
컴파일러 오류 C3466 'type': 제네릭 클래스의 특수화는 전달할 수 없습니다.
컴파일러 오류 C3467 'type': 이 형식은 이미 전달되었습니다.
컴파일러 오류 C3468 'type': 어셈블리에만 형식을 전달할 수 있습니다. 'identifier'는 어셈블리가 아닙니다.
컴파일러 오류 C3469 'type': 제네릭 클래스는 전달할 수 없습니다.
컴파일러 오류 C3470 'class': 클래스에 인덱서(인덱싱된 기본 속성)와 operator[]가 동시에 포함될 수 없습니다.
컴파일러 오류 C3471 새 모듈 이름 module-name(명령줄에 설정)이 이전 이름 module-name과 충돌합니다.
컴파일러 오류 C3472 새 출력 파일 이름 filename(명령줄에 설정)이 이전 파일 이름 filename과 충돌합니다.
컴파일러 오류 C3473 출력 경로 이름 또는 모듈 이름이 지정되지 않았습니다.
컴파일러 오류 C3474 출력 파일 'filename'을 열 수 없습니다.
컴파일러 오류 C3475 입력 파일 'filename'의 구문 오류
컴파일러 오류 C3476 입력을 위한 'filename' 파일을 을 열 수 없습니다.
컴파일러 오류 C3477 람다는 평가되지 않은 컨텍스트에 표시할 수 없습니다.
컴파일러 오류 C3478 'identifier': 배열은 복사본으로 캡처할 수 없습니다.
컴파일러 오류 C3479 람다의 SAL 주석은 지원되지 않습니다.
컴파일러 오류 C3480 'variable': 람다 캡처 변수는 바깥쪽 함수 범위에 속해야 합니다.
컴파일러 오류 C3481 'identifier': 람다 캡처 변수가 없습니다.
컴파일러 오류 C3482 비정적 멤버 함수 내에서는 'this'는 람다 캡처로만 사용할 수 있습니다.
컴파일러 오류 C3483 'identifier'는 이미 람다 캡처 목록의 일부입니다.
컴파일러 오류 C3484 구문 오류: 반환 형식 앞에 '->'가 필요합니다.
컴파일러 오류 C3485 람다 정의에 cv 한정자를 사용할 수 없습니다(Visual Studio 2022에서 사용되지 않음).
컴파일러 오류 C3486 람다의 매개 변수에 기본 인수를 포함할 수 없습니다(Visual Studio 2022에서 사용되지 않음).
컴파일러 오류 C3487 'type': 모든 반환 식은 같은 형식에 추론되어야 합니다. 이전에는 'type'이었습니다.
컴파일러 오류 C3488 기본 캡처 모드가 참조 방식인 경우 '&identifier'를 사용할 수 없습니다.
컴파일러 오류 C3489 기본 캡처 모드가 복사본 방식인 경우 '&identifier'가 필요합니다.
컴파일러 오류 C3490 'identifier'는 const 개체를 통해 액세스되고 있으므로 수정할 수 없습니다.
컴파일러 오류 C3491 'identifier': 변경 불가능한 람다에서 복사본 방식 캡처를 수정할 수 없습니다.
컴파일러 오류 C3492 'identifier': 익명 공용 구조체의 멤버를 캡처할 수 없습니다.
컴파일러 오류 C3493 지정된 기본 캡처 모드가 없기 때문에 'identifier'를 암시적으로 캡처할 수 없습니다.
컴파일러 오류 C3494 'this'는 바깥쪽 캡처 모드에서 허용하지 않으므로 명시적으로 캡처할 수 없습니다.
컴파일러 오류 C3495 'identifier': 캡처의 식별자는 람다의 도달 범위에서 자동 저장 기간이 선언된 변수여야 합니다.
컴파일러 오류 C3496 'this'는 항상 값으로 캡처됩니다. '&'가 무시되었습니다.
컴파일러 오류 C3497 람다의 인스턴스를 생성할 수 없습니다.
컴파일러 오류 C3498 'identifier': 관리/WinRT 형식인 변수를 캡처할 수 없습니다.
컴파일러 오류 C3499 반환 형식이 void로 지정된 람다가 값을 반환할 수 없습니다.

참고 항목

C/C++ 컴파일러와 빌드 도구 오류 및 경고
컴파일러 오류 C2000 ~ C3999, C7000 ~ C7999