다음을 통해 공유


컴파일러 오류 C3000 ~ C3099

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

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 메시지
컴파일러 오류 C3000 'symbol': 클래스 템플릿을 사용하려면 템플릿 인수 목록이 필요합니다. 비정적 데이터 멤버에서는 인수 추론이 허용되지 않습니다.
컴파일러 오류 C3001 'message': OpenMP 지시문 이름이 필요합니다.
컴파일러 오류 C3002 'name1 name2': OpenMP 지시문 이름이 여러 개 있습니다.
컴파일러 오류 C3003 'directive': 지시문 절 다음에는 OpenMP 지시문 이름이 올 수 없습니다.
컴파일러 오류 C3004 'clause': OpenMP 'directive' 지시문의 절이 잘못되었습니다.
컴파일러 오류 C3005 'message': OpenMP 'directive' 지시문에서 예기치 않은 토큰이 발견되었습니다.
컴파일러 오류 C3006 'clause': OpenMP 'directive' 지시문의 절에 필요한 인수가 없습니다.
컴파일러 오류 C3007 'clause': clause on OpenMP 'directive' 지시문의 절이 인수를 사용하지 않습니다.
컴파일러 오류 C3008 'argument': OpenMP 'directive' 지시문에서 ')'을 닫는 인수가 누락되었습니다.
컴파일러 오류 C3009 'label': OpenMP 구조화된 블록 외부에서 내부로 점프할 수 없습니다.
컴파일러 오류 C3010 'label': OpenMP 구조화된 블록 내부에서 외부로 점프할 수 없습니다.
컴파일러 오류 C3011 병렬 영역 내부에서는 직접 인라인 어셈블리를 사용할 수 없습니다.
컴파일러 오류 C3012 'function': 병렬 영역 내에서 직접적으로 허용되지 않는 내장 함수
컴파일러 오류 C3013 'clause': OpenMP 'directive' 지시문에는 절이 한 번만 나와야 합니다.
컴파일러 오류 C3014 OpenMP 'directive' 지시문 다음에 for 루프가 와야 합니다.
컴파일러 오류 C3015 OpenMP 'for' 문의 초기화 형식이 잘못되었습니다.
컴파일러 오류 C3016 'identifier': OpenMP 'for' 문의 인덱스 변수에는 부호 있는 정수 형식이 있어야 합니다.
컴파일러 오류 C3017 OpenMP 'for' 문의 종료 테스트 형식이 잘못되었습니다.
컴파일러 오류 C3018 'identifier': OpenMP 'for' 테스트 또는 증분은 인덱스 변수 'variable'를 사용해야 합니다.
컴파일러 오류 C3019 OpenMP 'for' 문 내부의 증가 식 형식이 잘못되었습니다.
컴파일러 오류 C3020 'variable': OpenMP 'for' 루프의 인덱스 변수는 루프 본문에서 수정할 수 없습니다.
컴파일러 오류 C3021 'argument': OpenMP 'directive' 지시문에서 인수가 비어 있습니다.
컴파일러 오류 C3022 'directive': OpenMP 'directive' 지시문의 'directive' 일정 종류가 잘못되었습니다.
컴파일러 오류 C3023 'argument': OpenMP 'directive' 절에 대한 인수에서 예기치 않은 토큰이 발견되었습니다.
컴파일러 오류 C3024 'schedule(runtime)' : chunk_size 식은 허용되지 않습니다.
컴파일러 오류 C3025 'clause': 정수 계열 식이 있어야 합니다.
컴파일러 오류 C3026 'clause': 상수 식이 양수여야 합니다.
컴파일러 오류 C3027 'clause': 산술 식 또는 포인터 식이 필요합니다.
컴파일러 오류 C3028 'member': 데이터 공유 절에는 변수 또는 정적 데이터 멤버만 사용할 수 있습니다.
컴파일러 오류 C3029 'symbol': OpenMP 지시문의 데이터 공유 절에 한 번만 나타날 수 있습니다.
컴파일러 오류 C3030 'identifier': 'directive' 절/지시문의 변수는 참조 형식을 가질 수 없습니다.
컴파일러 오류 C3031 'identifier': 'reduction' 절의 변수에는 스칼라 산술 형식이 있어야 합니다.
컴파일러 오류 C3032 'identifier': 'clause' 절의 변수는 불완전한 형식 'type'을 가질 수 없습니다.
컴파일러 오류 C3033 'identifier': 'clause' 절의 변수는 const 한정 형식을 가질 수 없습니다.
컴파일러 오류 C3034 OpenMP 'directive' 지시문은 'directive' 지시문 내에 직접 중첩될 수 없습니다.
컴파일러 오류 C3035 OpenMP 'ordered' 지시문은 'ordered' 절이 있는 'for' 또는 'parallel for' 지시문에 직접 바인딩되어야 합니다.
컴파일러 오류 C3036 'clause': OpenMP 'reduction' 절에 잘못된 연산자 토큰이 있습니다.
컴파일러 오류 C3037 'identifier': 'clause' 절의 변수는 바깥쪽 컨텍스트에서 공유되어야 합니다.
컴파일러 오류 C3038 'identifier': 'private' 절의 변수는 바깥쪽 컨텍스트에서 환산(reduction) 변수일 수 없습니다.
컴파일러 오류 C3039 'identifier': OpenMP 'for' 문의 인덱스 변수는 축소 변수일 수 없습니다.
컴파일러 오류 C3040 'identifier': 'reduction' 절의 변수 형식이 환산 operator 'operator'와 호환되지 않습니다.
컴파일러 오류 C3041 'identifier': 'copyprivate' 절의 변수는 바깥쪽 컨텍스트에서 프라이빗이어야 합니다.
컴파일러 오류 C3042 OpenMP 'directive' 절에 'copyprivate'와 'nowait' 절을 함께 사용할 수 없습니다.
컴파일러 오류 C3043 OpenMP 'critical' 지시문은 같은 이름의 'critical' 지시문 내부에 중첩될 수 없습니다.
컴파일러 오류 C3044 'section' : OpenMP 'sections' 지시문 내부에 직접 중첩되어야 합니다.
컴파일러 오류 C3045 OpenMP 'sections' 지시문 다음에는 복합 문이 와야 합니다. '{'가 없습니다.
컴파일러 오류 C3046 OpenMP '#pragma omp sections' 영역에 구조화된 블록이 없습니다.
컴파일러 오류 C3047 OpenMP 'sections' 영역의 구조적 블록 앞에는 '#pragma omp section'이 와야 합니다(Visual Studio 2022에서는 사용되지 않음).
컴파일러 오류 C3048 '#pragma omp atomic' 다음에 나오는 식의 형식이 잘못되었습니다.
컴파일러 오류 C3049 'argument': OpenMP 'default' 절의 인수가 잘못되었습니다.
컴파일러 오류 C3050 'class': 참조 클래스는 'identifier'에서 상속할 수 없습니다.
컴파일러 오류 C3051 사용되지 않습니다.
컴파일러 오류 C3052 'identifier': 변수가 default(none) 절 아래의 데이터 공유 절에 나타나지 않습니다.
컴파일러 오류 C3053 'identifier': 'threadprivate'은 전역 또는 정적 데이터 항목에만 유효합니다.
컴파일러 오류 C3054 '#pragma omp parallel'은 현재 제네릭 클래스 또는 함수에서 지원되지 않습니다(Visual Studio 2022에서는 사용되지 않음).
컴파일러 오류 C3055 'identifier': 'threadprivate' 지시문에 사용되기 전에는 기호를 참조할 수 없습니다.
컴파일러 오류 C3056 'identifier': 기호가 'threadprivate' 지시문과 동일한 범위에 있지 않습니다.
컴파일러 오류 C3057 'identifier': 'threadprivate' 기호의 동적 초기화는 현재 지원되지 않습니다.
컴파일러 오류 C3058 'identifier': 기호가 'copyin' 절에서 사용되기 전에 'threadprivate'으로 선언되지 않았습니다.
컴파일러 오류 C3059 'identifier': 'threadprivate' 기호는 'clause' 절에 사용할 수 없습니다.
컴파일러 오류 C3060 'identifier': friend 함수는 클래스 내부에서 정규화된 이름을 사용하여 정의할 수 없으며 선언만 할 수 있습니다.
컴파일러 오류 C3061 operator 'operator': 기본 형식 'type'인 'type' 열거형에 사용할 수 없습니다.
컴파일러 오류 C3062 'identifier': 기본 형식이 'type'이므로 열거자에 값이 필요합니다.
컴파일러 오류 C3063 operator 'operator': 모든 피연산자의 열거형 형식이 같아야 합니다.
컴파일러 오류 C3064 'identifier': 단순 형식이거나 단일 형식으로 해석되어야 합니다.
컴파일러 오류 C3065 클래스 범위가 아닌 범위에서는 속성을 선언할 수 없습니다.
컴파일러 오류 C3066 이러한 인수를 사용하여 이 형식의 개체를 호출할 수 있는 방법에는 여러 가지가 있습니다.
컴파일러 오류 C3067 이니셜라이저 목록을 built-in operator[]와 함께 사용할 수 없습니다.
컴파일러 오류 C3068 'identifier': 'naked' 함수는 C++ 예외가 발생한 경우 해제가 필요한 개체를 포함할 수 없습니다.
컴파일러 오류 C3069 operator 'operator': 열거형 형식에 사용할 수 없습니다.
컴파일러 오류 C3070 'identifier': 속성에 'set' 메서드가 없습니다.
컴파일러 오류 C3071 'operator' 연산자는 ref 클래스 또는 값 형식의 인스턴스에만 적용할 수 있습니다.
컴파일러 오류 C3072 'operator' 연산자는 ref 클래스에 적용할 수 없습니다. 단항 '%' 연산자를 사용하여 ref 클래스 인스턴스를 핸들 형식으로 변환하세요.
컴파일러 오류 C3073 'identifier': ref 클래스에 사용자 정의 복사 생성자가 없습니다.
컴파일러 오류 C3074 배열은 괄호로 묶인 이니셜라이저로 초기화할 수 없습니다.
컴파일러 오류 C3075 'identifier': 참조 형식 'type'의 인스턴스를 값 형식에 포함할 수 없습니다.
컴파일러 오류 C3076 'identifier': 참조 형식 'type'의 인스턴스를 네이티브 형식에 포함할 수 없습니다.
컴파일러 오류 C3077 'identifier': 종료자는 참조 형식의 멤버만 될 수 있습니다.
컴파일러 오류 C3078 new 식에서는 배열 크기를 지정해야 합니다.
컴파일러 오류 C3079 이니셜라이저 목록을 이 대입 연산자의 오른쪽 피연산자로 사용할 수 없습니다.
컴파일러 오류 C3080 'finalizer': 종료자는 스토리지 클래스 지정자를 가질 수 없습니다.
컴파일러 오류 C3081 사용되지 않습니다.
컴파일러 오류 C3082 사용되지 않습니다.
컴파일러 오류 C3083 'identifier': '::' 왼쪽에 있는 기호는 형식이어야 합니다.
컴파일러 오류 C3084 'identifier': 소멸자/종료자는 'keyword'일 수 없습니다.
컴파일러 오류 C3085 'identifier': 생성자는 'keyword'일 수 없습니다.
컴파일러 오류 C3086 'std::initializer_list'를 찾을 수 없습니다. #include <initializer_list>를 사용해야 합니다.
컴파일러 오류 C3087 'identifier': 'declaration' 호출이 이미 이 멤버를 초기화했습니다.
컴파일러 오류 C3088 'class': 특성 생성자에는 명명된 형식 인수가 있어야 합니다.
컴파일러 오류 C3089 'identifier': 매개 변수 이름이 데이터 멤버 이름과 일치하지 않습니다.
컴파일러 오류 C3090 'class': 특성 클래스는 템플릿일 수 없습니다.
컴파일러 오류 C3091 'class': 특성 클래스는 기본 클래스를 가질 수 없습니다.
컴파일러 오류 C3092 'class': 특성 클래스 멤버는 'static' 또는 'const' 비트 필드일 수 없습니다.
컴파일러 오류 C3093 'type': 특성 클래스 멤버 'member'에는 형식이 허용되지 않습니다.
컴파일러 오류 C3094 'attribute': 익명으로 사용할 수 없습니다.
컴파일러 오류 C3095 'attribute': 특성을 반복할 수 없습니다.
컴파일러 오류 C3096 'attribute': 특성은 특성 클래스의 데이터 멤버에만 허용됩니다.
컴파일러 오류 C3097 'attribute': 특성의 범위는 ‘assembly:’ 또는 ‘module:’이어야 합니다.
컴파일러 오류 C3098 'identifier': 특성에 사용자 정의 생성자가 없습니다.
컴파일러 오류 C3099 'keyword': managed/WinRT 특성에 ​​[System::AttributeUsageAttribute]/[Windows::Foundation::Metadata::AttributeUsageAttribute]를 사용합니다.

참고 항목

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