다음을 통해 공유


컴파일러 오류 C2800 ~ C2899

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

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 메시지
컴파일러 오류 C2800 'operator operator'는 오버로드될 수 없습니다.
컴파일러 오류 C2801 'member'는 비정적 멤버여야 합니다.
컴파일러 오류 C2802 정적 멤버 'operator operator'에는 형식 매개 변수가 없습니다.
컴파일러 오류 C2803 'operator operator'에는 클래스 형식의 형식 매개 변수가 하나 이상 있어야 합니다.
컴파일러 오류 C2804 이항 'operator operator'에 매개 변수가 너무 많습니다.
컴파일러 오류 C2805 이항 'operator operator'에 매개 변수가 너무 적습니다.
컴파일러 오류 C2806 'operator operator'에 형식 매개 변수가 너무 많습니다.
컴파일러 오류 C2807 접미사 'operator operator'의 두 번째 형식 매개 변수는 'int'여야 합니다.
컴파일러 오류 C2808 단항 'operator operator'에 형식 매개 변수가 너무 많습니다.
컴파일러 오류 C2809 'operator operator'에는 형식 매개 변수가 없습니다.
컴파일러 오류 C2810 'interface': 인터페이스는 다른 인터페이스에서만 상속할 수 있습니다.
컴파일러 오류 C2811 'type1': 'type2'에서 상속할 수 없습니다. ref 클래스는 ref 클래스 또는 인터페이스 클래스에서만 상속할 수 있습니다.
컴파일러 오류 C2812 /clr:pure 및 /clr:safe를 지정하면 #import를 사용할 수 없습니다.
컴파일러 오류 C2813 /MP를 지정하면 #import를 사용할 수 없습니다.
컴파일러 오류 C2814 'member': 네이티브 형식은 managed/WinRT 형식 'class' 내에 중첩될 수 없습니다.
컴파일러 오류 C2815 'operator delete': 첫 번째 형식 매개 변수는 'void *'여야 하지만 'type'이 사용되었습니다.
컴파일러 오류 C2816 함수 같은 매크로 'identifier' 호출에 ')' 종료가 누락되었습니다.
컴파일러 오류 C2817 'operator delete'의 반환 형식은 'void'이어야 합니다.
컴파일러 오류 C2818 오버로드된 'operator ->'는 'class' 형식에서 재귀적으로 적용됩니다.
컴파일러 오류 C2819 'class' 형식에 오버로드된 멤버 'operator ->'이 없습니다.
컴파일러 오류 C2820 사용되지 않습니다.
컴파일러 오류 C2821 'operator new'에 대한 첫째 정식 매개 변수는 'size_t'이어야 합니다.
컴파일러 오류 C2822 이 플랫폼에서는 로컬 해제가 지원되지 않습니다.
컴파일러 오류 C2823 형식 정의 template/generic이 잘못되었습니다.
컴파일러 오류 C2824 'operator new'의 반환 형식은 'void *'이어야 합니다.
컴파일러 오류 C2825 'identifier': 뒤에 '::'가 오면 클래스 또는 네임스페이스여야 합니다.
컴파일러 오류 C2826 사용되지 않습니다.
컴파일러 오류 C2827 'operator operator'는 단항 형식으로 전역적으로 재정의될 수 없습니다.
컴파일러 오류 C2828 'operator operator'는 이항 형식으로 전역적으로 재정의될 수 없습니다.
컴파일러 오류 C2829 'operator operator'에는 변수 매개 변수 목록이 있을 수 없습니다.
컴파일러 오류 C2830 'operator new'에 대한 배치 매개 변수에만 기본값을 사용할 수 있습니다.
컴파일러 오류 C2831 'operator operator'는 기본 매개 변수를 가질 수 없습니다.
컴파일러 오류 C2832 'identifier': 참조 형식을 값으로 초기화할 수 없습니다.
컴파일러 오류 C2833 'operator token'은 인식된 operator 또는 형식이 아닙니다.
컴파일러 오류 C2834 'operator operator'는 전역적으로 정규화되어야 합니다(Visual Studio 2022에서는 사용되지 않음).
컴파일러 오류 C2835 사용자 정의 변환 'type'은 형식 매개 변수를 사용하지 않습니다.
컴파일러 오류 C2836 'identifier': 공용체의 하나의 비정적 데이터 멤버만 기본 멤버 이니셜라이저를 가질 수 있습니다.
컴파일러 오류 C2837 'function': 동일한 함수에서 OpenMP 지시문과 #pragma 루프(hint_parallel)를 사용할 수 없습니다.
컴파일러 오류 C2838 'identifier': 멤버 선언의 정규화된 이름이 잘못되었습니다.
컴파일러 오류 C2839 오버로드된 'operator ->'의 'type' 반환 형식이 잘못되었습니다.
컴파일러 오류 C2840 명령어 인수가 상수가 아닙니다.
컴파일러 오류 C2841 레지스터 인수가 상수가 아닙니다.
컴파일러 오류 C2842 'class': a managed/WinRT 형식은 고유한 'operator new' 또는 'operator delete'를 정의할 수 없습니다.
컴파일러 오류 C2843 'member': managed/WinRT 형식의 비정적 데이터 멤버 주소나 메서드 주소를 가져올 수 없습니다.
컴파일러 오류 C2844 'identifier': 'interface' 인터페이스의 멤버일 수 없습니다.
컴파일러 오류 C2845 'type': 이 형식에서는 포인터 연산이 허용되지 않습니다.
컴파일러 오류 C2846 'interface': 인터페이스는 생성자를 가질 수 없습니다.
컴파일러 오류 C2847 managed/WinRT 형식 'class'에 sizeof를 적용할 수 없습니다.
컴파일러 오류 C2848 'class': a managed/WinRT 형식은 공용 구조체의 멤버일 수 없습니다.
컴파일러 오류 C2849 'interface': 인터페이스는 소멸자를 가질 수 없습니다.
컴파일러 오류 C2850 'construct': 파일 범위에서만 사용할 수 있습니다. 중첩된 구문에는 사용할 수 없습니다.
컴파일러 오류 C2851 'enum': A public WinRT 열거형은 기본 형식으로 'int' 또는 'unsigned int'만 사용할 수 있습니다.
컴파일러 오류 C2852 'identifier': 데이터 멤버만 클래스 내에서 초기화될 수 있습니다.
컴파일러 오류 C2853 'identifier': 비정적 데이터 멤버는 'auto'를 포함하는 형식을 가질 수 없습니다.
컴파일러 오류 C2854 #pragma hdrstop에 구문 오류가 있습니다.
컴파일러 오류 C2855 명령줄 옵션 'option'이 미리 컴파일된 헤더와 일치하지 않습니다.
컴파일러 오류 C2856 #pragma hdrstop은 #if 블록 내부에 있을 수 없습니다.
컴파일러 오류 C2857 /Ycfilename 명령줄 옵션으로 지정된 '#include' 문을 원본 파일에서 찾을 수 없습니다.
컴파일러 오류 C2858 명령줄 옵션 '/Yc(/Fdfilename)'은 '/Fdfilename'을 사용한 미리 컴파일된 헤더와 일치하지 않습니다(Visual Studio 2022에서는 사용되지 않음).
컴파일러 오류 C2859 filename은(는) 이 미리 컴파일된 헤더가 만들어졌을 때 사용된 filetype 파일이 아닙니다. 미리 컴파일된 헤더를 다시 만드세요.
컴파일러 오류 C2860 '(void)'를 제외하고 'void'는 함수 매개 변수로 사용할 수 없습니다.
컴파일러 오류 C2861 'declaration': 인터페이스 멤버 함수를 정의할 수 없습니다.
컴파일러 오류 C2862 'interface': 인터페이스에는 공용 멤버만 있을 수 있습니다.
컴파일러 오류 C2863 'interface': 인터페이스에 friends를 사용할 수 없습니다.
컴파일러 오류 C2864 'identifier': 클래스 내 이니셜라이저가 있는 정적 데이터 멤버/템플릿 변수는 비휘발성 const 정수 형식을 가져야 합니다.
컴파일러 오류 C2865 'operator': 개체 포인터/핸들에 대한 비교가 잘못되었습니다.
컴파일러 오류 C2866 사용되지 않습니다.
컴파일러 오류 C2867 'identifier': 네임스페이스가 아닙니다.
컴파일러 오류 C2868 'identifier': using 선언의 구문이 잘못되었습니다. 정규화된 이름이 필요합니다.
컴파일러 오류 C2869 'identifier': 이미 네임스페이스로 정의되었습니다.
컴파일러 오류 C2870 'identifier': 네임스페이스 정의는 파일 범위에서 사용하거나 다른 네임스페이스 정의 바로 안쪽에 사용해야 합니다.
컴파일러 오류 C2871 'identifier': 이 이름을 가진 네임스페이스가 존재하지 않습니다.
컴파일러 오류 C2872 'identifier': 모호한 기호
컴파일러 오류 C2873 'symbol': 기호는 using 선언에 사용할 수 없습니다.
컴파일러 오류 C2874 using-declaration으로 인해 'identifier'가 여러 개 선언됩니다.
컴파일러 오류 C2875 using-declaration으로 인해 'class::identifier'가 여러 개 선언됩니다(Visual Studio 2022에서는 사용되지 않음).
컴파일러 오류 C2876 'class::member': 모든 오버로드에 액세스할 수 있는 것은 아닙니다.
컴파일러 오류 C2877 'member'는 'class'에서 액세스할 수 없습니다.
컴파일러 오류 C2878 'identifier': 같은 이름을 가진 네임스페이스 또는 클래스가 없습니다.
컴파일러 오류 C2879 'identifier': 네임스페이스 별칭 정의에 따라 기존 네임스페이스에만 다른 이름을 지정할 수 있습니다.
컴파일러 오류 C2880 __swi 또는 __hvc의 첫 번째 인수(SWI 번호)는 올바른 상수여야 합니다.
컴파일러 오류 C2881 'identifier': 이미 'class'의 별칭으로 사용되었습니다.
컴파일러 오류 C2882 'identifier': 식에서 네임스페이스 식별자를 잘못 사용했습니다.
컴파일러 오류 C2883 'function': 함수 선언이 using 선언으로 도입된 'identifier'와 충돌합니다.
컴파일러 오류 C2884 'identifier': 로컬 함수 'function'와의 사용 선언 충돌로 인해 도입되었습니다.
컴파일러 오류 C2885 'class::identifier': 클래스가 아닌 범위에서 유효한 using 선언이 아닙니다.
컴파일러 오류 C2886 'class::identifier': 멤버 using-declaration에서 기호를 사용할 수 없습니다.
컴파일러 오류 C2887 __swi 또는 __hvc는 최대 다섯 개의 인수를 사용할 수 있습니다(SWI 번호, r0 - r3).
컴파일러 오류 C2888 'identifier': 'namespace' 네임스페이스 내에서는 기호를 정의할 수 없습니다.
컴파일러 오류 C2889 'class': managed/WinRT 클래스 형식은 가상 기본 클래스일 수 없습니다.
컴파일러 오류 C2890 'class': 참조 클래스는 인터페이스가 아닌 기본 클래스를 하나만 가질 수 있습니다.
컴파일러 오류 C2891 'parameter': 템플릿 매개 변수의 주소를 사용할 수 없습니다.
컴파일러 오류 C2892 로컬 클래스에는 멤버 템플릿이 없습니다.
컴파일러 오류 C2893 함수 템플릿 'template'을 특수화하지 못했습니다.
컴파일러 오류 C2894 템플릿에 'C' 연결이 있도록 선언할 수 없습니다.
컴파일러 오류 C2895 'declaration': dllimport로 선언된 함수 템플릿을 명시적으로 인스턴스화할 수 없습니다.
컴파일러 오류 C2896 'function1': 함수 template/generic 'function2'를 함수 인수로 사용할 수 없습니다(Visual Studio 2022에서는 사용되지 않음).
컴파일러 오류 C2897 소멸자/종료자는 함수 템플릿이 될 수 없습니다.
컴파일러 오류 C2898 'declaration': 멤버 함수 템플릿은 가상일 수 없습니다.
컴파일러 오류 C2899 사용되지 않습니다.

참고 항목

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