컴파일러 오류 C2900 ~ C2999
설명서의 이 섹션에 있는 문서에서는 컴파일러에서 생성된 오류 메시지의 하위 집합을 설명합니다.
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 | 메시지 |
---|---|
컴파일러 오류 C2900 | 'declarator': WinRT 클래스의 멤버 함수 템플릿은 'private', 'internal' 또는 'protected private'이어야 합니다. |
컴파일러 오류 C2901 | 'identifier': 제네릭 인터페이스 또는 위임은 공개될 수 없습니다. |
컴파일러 오류 C2902 | 'token': 'template/generic' 뒤에 예기치 않은 토큰, 식별자가 필요합니다(Visual Studio 2022에서는 사용되지 않음). |
컴파일러 오류 C2903 | 'identifier': 기호는 클래스 template/generic도 아니고 함수 template/generic도 아닙니다. |
컴파일러 오류 C2904 | 'identifier': 이름이 현재 범위의 템플릿으로 이미 사용되었습니다. |
컴파일러 오류 C2905 | 사용되지 않습니다. |
컴파일러 오류 C2906 | 'template': 명시적 전문화에는 'template <>'이 필요합니다. |
컴파일러 오류 C2907 | 레지스터 인수 'number'가 유효한 레지스터 번호를 지정하지 않습니다. |
컴파일러 오류 C2908 | 명시적인 전문화; 'template'이 이미 인스턴스화되었습니다. |
컴파일러 오류 C2909 | 'identifier': 함수 템플릿을 명시적으로 인스턴스화하려면 반환 형식이 있어야 합니다. |
컴파일러 오류 C2910 | 'function': 명시적으로 특수화할 수 없습니다. |
컴파일러 오류 C2911 | 'member': 현재 범위에서 선언하거나 정의할 수 없습니다. |
컴파일러 오류 C2912 | 명시적 특수화 'declaration'이 함수 템플릿의 특수화가 아닙니다. |
컴파일러 오류 C2913 | 명시적인 전문화; 'declaration'은 클래스 템플릿의 전문화가 아닙니다. |
컴파일러 오류 C2914 | 'identifier': 함수 인수가 모호하므로 template/generic 인수를 추론할 수 없습니다. |
컴파일러 오류 C2915 | 'identifier': 'type'은 WinRT 형식의 게시된 표면에서 직접 사용할 수 없습니다. 이 형식을 전달하려면 대신 'Platform::Object^'를 사용합니다. |
컴파일러 오류 C2916 | 'identifier': [FlagsAttribute]는 'unsigned int' 기본 형식이 있는 공용 열거형에만 지정되어야 합니다. |
컴파일러 오류 C2917 | 'identifier': 잘못된 템플릿 매개 변수(Visual Studio 2022에서는 사용되지 않음) |
컴파일러 오류 C2918 | 'identifier': 인덱스가 생성된 속성은 WinRT 형식의 게시된 표면에서 사용할 수 없습니다. |
컴파일러 오류 C2919 | 'type': WinRT 형식의 게시된 표면에서는 연산자를 사용할 수 없습니다. |
컴파일러 오류 C2920 | 재정의: 'type': 클래스 template/generic이 이미 'declaration'으로 선언되었습니다. |
컴파일러 오류 C2921 | 재정의: 'type': 클래스 template/generic이 'declaration'으로 다시 선언됩니다. |
컴파일러 오류 C2922 | 'interface': WinRT 인터페이스는 정적 멤버를 포함할 수 없습니다. |
컴파일러 오류 C2923 | 'type': 'identifier'는 'parameter' 매개 변수에 대한 유효한 template/generic 형식 인수가 아닙니다. |
컴파일러 오류 C2924 | __declspec(interrupt) 루틴 인수가 R2에 없습니다. |
컴파일러 오류 C2925 | __declspec(interrupt) 루틴은 부동 소수점을 사용할 수 없습니다. |
컴파일러 오류 C2926 | 'identifier': 공용체 내의 익명 구조체 멤버에는 기본 멤버 이니셜라이저가 허용되지 않습니다. |
컴파일러 오류 C2927 | 'identifier': 함수 템플릿은 하나 이상의 인수를 사용하여 호출되어야 합니다. |
컴파일러 오류 C2928 | 명시적 인스턴스화. 'identifier'는 함수 또는 템플릿-클래스 'class''의 정적 데이터 멤버가 아닙니다. |
컴파일러 오류 C2929 | 'declarator': 명시적 인스턴스화. 템플릿-클래스 멤버의 인스턴스화를 명시적으로 강제하고 억제할 수 없습니다. |
컴파일러 오류 C2930 | 'class': '열거형 identifier'의 열거자로 재정의된 템플릿 ID/제네릭 ID |
컴파일러 오류 C2931 | 'class1': 'class2'의 멤버 함수로 다시 정의된 template-id/generic-id(Visual Studio 2022에서는 사용되지 않음) |
컴파일러 오류 C2932 | 'type': 'identifier'의 데이터 멤버로 재정의된 템플릿 ID/제네릭 ID(Visual Studio 2022에서는 사용되지 않음) |
컴파일러 오류 C2933 | 'type': 'identifier'의 typedef 멤버로 다시 정의된 template-id/generic-id(Visual Studio 2022에서는 사용되지 않음) |
컴파일러 오류 C2934 | 'type': 'identifier'의 중첩된 'item'으로 재정의된 템플릿 ID/제네릭 ID(Visual Studio 2022에서는 사용되지 않음) |
컴파일러 오류 C2935 | 'type': 전역 함수로 재정의된 template-id/generic-id(Visual Studio 2022에서는 사용되지 않음) |
컴파일러 오류 C2936 | 'type': 글로벌 데이터 변수로 재정의된 template-id/generic-id(Visual Studio 2022에서는 사용되지 않음) |
컴파일러 오류 C2937 | 'type': 전역 typedef로 재정의된 template-id/generic-id(Visual Studio 2022에서는 사용되지 않음) |
컴파일러 오류 C2938 | 'identifier': 별칭 템플릿을 특수화하지 못했습니다. |
컴파일러 오류 C2939 | 'type': 로컬 데이터 변수로 재정의된 template-id/generic-id(Visual Studio 2022에서는 사용되지 않음) |
컴파일러 오류 C2940 | 'type': 로컬 typedef로 재정의된 template-id/generic-id(Visual Studio 2022에서는 사용되지 않음) |
컴파일러 오류 C2941 | 'type': 로컬 'item'으로 재정의된 템플릿 ID/제네릭 ID(Visual Studio 2022에서는 사용되지 않음) |
컴파일러 오류 C2942 | 'type': 함수의 형식 인수로 재정의된 template-id/generic-id(Visual Studio 2022에서는 사용되지 않음) |
컴파일러 오류 C2943 | 'type': 템플릿의 형식 인수로 다시 정의된 template-id/generic-id(Visual Studio 2022에서는 사용되지 않음) |
컴파일러 오류 C2944 | 'type': 템플릿의 값 인수로 재정의된 template-id/generic-id(Visual Studio 2022에서는 사용되지 않음) |
컴파일러 오류 C2945 | 명시적 인스턴스화는 템플릿-클래스 특수화를 참조하지 않습니다. |
컴파일러 오류 C2946 | 명시적인 인스턴스화; 'type'는 템플릿 클래스 전문화가 아닙니다. |
컴파일러 오류 C2947 | '>'가 템플릿 인수를 종료할 것으로 예상했는데 'token'를 찾았습니다. |
컴파일러 오류 C2948 | 명시적인 인스턴스화; 전문화에서는 스토리지 클래스 지정자 'specifier'가 허용되지 않습니다. |
컴파일러 오류 C2949 | thread_local은 /kernel에서 지원되지 않습니다. |
컴파일러 오류 C2950 | 사용되지 않습니다. |
컴파일러 오류 C2951 | template/generic 선언은 전역, 네임스페이스 또는 클래스 범위에서만 허용됩니다. |
컴파일러 오류 C2952 | 'declaration': template/generic 선언에 template/generic 매개 변수 목록이 누락되었습니다. |
컴파일러 오류 C2953 | 'type': 클래스 템플릿이 이미 정의되었습니다. |
컴파일러 오류 C2954 | 명령어 인수가 범위를 벗어났습니다. |
컴파일러 오류 C2955 | 'type': 클래스 template/generic을 사용하려면 template/generic 인수 목록이 필요합니다. |
컴파일러 오류 C2956 | 일반적인 할당 취소 함수 'function'는 배치 해제 함수로 선택됩니다. |
컴파일러 오류 C2957 | 'token': 잘못된 왼쪽 구분 기호: '<'가 필요합니다. |
컴파일러 오류 C2958 | 'file(line_number)'에 있는 왼쪽 구분자가 올바르게 일치하지 않습니다. |
컴파일러 오류 C2959 | 제네릭 클래스 또는 함수는 템플릿의 멤버가 될 수 없습니다. |
컴파일러 오류 C2960 | 사용되지 않습니다. |
컴파일러 오류 C2961 | 'function': 명시적 인스턴스화가 일치하지 않습니다. 이전 명시적 인스턴스화에서 'argument'을(를) 지정하지 않았습니다. |
컴파일러 오류 C2962 | 구문 오류: 'token': 템플릿-클래스 멤버 함수 정의는 '}'로 끝나야 합니다. |
컴파일러 오류 C2963 | 사용되지 않습니다. |
컴파일러 오류 C2964 | 사용되지 않습니다. |
컴파일러 오류 C2965 | __declspec(specifier)는 /kernel에서 지원되지 않습니다. |
컴파일러 오류 C2966 | 'identifier1': 기본 클래스 'identifier2'(Visual Studio 2022에서는 사용되지 않음)와 동일한 __declspec(code_seg(...))이 있어야 합니다. |
컴파일러 오류 C2967 | 'identifier': 재정의하는 가상 함수에는 재정의된 가상 함수와 동일한 __declspec(code_seg(...))이 있어야 합니다(Visual Studio 2022에서는 사용되지 않음). |
컴파일러 오류 C2968 | 'identifier': 재귀 별칭 선언 |
컴파일러 오류 C2969 | 구문 오류: 'token': 멤버 함수 정의가 '}'로 끝나야 합니다. |
컴파일러 오류 C2970 | 'type': 템플릿 매개 변수 'parameter': 'argument': 내부 연결이 있는 개체와 관련된 식은 비형식 인수로 사용할 수 없습니다. |
컴파일러 오류 C2971 | 'type': 템플릿 매개 변수 'parameter': 'argument': 비정적 저장 기간이 있는 변수는 비형식 인수로 사용할 수 없습니다. |
컴파일러 오류 C2972 | 'type': 템플릿 매개 변수 'parameter': 비형식 인수의 형식이 잘못되었습니다. |
컴파일러 오류 C2973 | 'template': 잘못된 템플릿 인수 'number' |
컴파일러 오류 C2974 | 'type': 'parameter'의 template/generic 인수가 잘못되었습니다. 형식이 필요합니다. |
컴파일러 오류 C2975 | 'type': 'parameter'의 템플릿 인수가 잘못되었습니다. 컴파일 타임 상수 식이 필요합니다. |
컴파일러 오류 C2976 | 'type': template/generic 인수가 너무 적습니다. |
컴파일러 오류 C2977 | 'type': template/generic 인수가 너무 많습니다. |
컴파일러 오류 C2978 | 구문 오류: 'keyword1' 또는 'keyword2'가 필요한데 'type' 형식이 있습니다. 제네릭에서는 비형식 매개 변수를 사용할 수 없습니다. |
컴파일러 오류 C2979 | 제네릭에서는 명시적 특수화가 지원되지 않습니다. |
컴파일러 오류 C2980 | C++ 예외 처리는 /kernel에서 지원되지 않습니다. |
컴파일러 오류 C2981 | /kernel에서는 'keyword'의 동적 형식이 지원되지 않습니다. |
컴파일러 오류 C2982 | 'declaration': 다른 __declspec(code_seg(...))이 사용됨: 이전에는 'identifier1', 현재는 'identifier2'. |
컴파일러 오류 C2983 | 'declaration': 모든 선언에는 동일한 __declspec(code_seg(...))이 있어야 합니다. |
컴파일러 오류 C2984 | 사용되지 않습니다. |
컴파일러 오류 C2985 | 'argument': __declspec(code_seg(...))에 대한 인수는 텍스트 섹션이어야 합니다. |
컴파일러 오류 C2986 | 'identifier': __declspec(code_seg(...))는 클래스 또는 함수에만 적용할 수 있습니다. |
컴파일러 오류 C2987 | 선언에는 __declspec(code_seg('identifier')) 및 __declspec(code_seg('value'))가 모두 포함될 수 없습니다. |
컴파일러 오류 C2988 | 템플릿 선언/정의를 인식할 수 없습니다. |
컴파일러 오류 C2989 | 'class': 클래스 template/generic이 이미 비클래스 template/generic으로 선언되었습니다. |
컴파일러 오류 C2990 | 'class': 비클래스 template/generic이 이미 클래스 template/generic으로 선언되었습니다. |
컴파일러 오류 C2991 | template/generic 매개 변수 'parameter' 재정의 |
컴파일러 오류 C2992 | 'class': template/generic 매개 변수 목록이 잘못되었거나 없습니다. |
컴파일러 오류 C2993 | 'type': 형식이 아닌 템플릿 매개 변수 'identifier'에 대한 잘못된 형식입니다. |
컴파일러 오류 C2994 | 템플릿 매개 변수 목록에 명명되지 않은 클래스가 있습니다. |
컴파일러 오류 C2995 | 'declaration': 함수 템플릿이 이미 정의되었습니다. |
컴파일러 오류 C2996 | 'function': 재귀 함수 템플릿 정의 |
컴파일러 오류 C2997 | '함수': 기본 멤버 이니셜라이저에서 배열 바인딩을 추론할 수 없습니다. |
컴파일러 오류 C2998 | 'declarator': 템플릿 정의일 수 없습니다. |
참고 항목
C/C++ 컴파일러와 빌드 도구 오류 및 경고
컴파일러 오류 C2000 ~ C3999, C7000 ~ C7999