컴파일러 오류 C2300 ~ C2399
설명서의 이 섹션에 있는 문서에서는 컴파일러에서 생성된 오류 메시지의 하위 집합을 설명합니다.
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 | 메시지 |
---|---|
컴파일러 오류 C2300 | 'class': 클래스에 '~class'라는 소멸자가 없습니다. |
컴파일러 오류 C2301 | '->~identifier' 왼쪽은 클래스/구조체/공용 구조체를 가리켜야 합니다. |
컴파일러 오류 C2302 | '.~identifier' 왼쪽에는 클래스/구조체/공용 구조체 형식이 있어야 합니다. |
컴파일러 오류 C2303 | 구조적 예외 처리는 코루틴에서 사용할 수 없습니다. |
컴파일러 오류 C2304 | 'keyword'는 catch 블록 내부에서 사용할 수 없습니다. |
컴파일러 오류 C2305 | 'file'에 이 모듈에 대한 디버깅 정보가 없습니다. |
컴파일러 오류 C2306 | 'file'에 이 모듈에 대한 최신 디버깅 정보가 없습니다. |
컴파일러 오류 C2307 | 증분 컴파일이 활성화된 경우 directive pragma를 함수 외부로 이동해야 합니다. |
컴파일러 오류 C2308 | 일치하지 않는 문자열을 연결하고 있습니다. |
컴파일러 오류 C2309 | catch 처리기에 괄호로 묶인 예외 선언이 필요합니다. |
컴파일러 오류 C2310 | catch 처리기는 형식을 하나 지정해야 합니다. |
컴파일러 오류 C2311 | 'type': '...'에 의해 줄 number에서 catch되었습니다. |
컴파일러 오류 C2312 | 'type1': 'type2'에 의해 줄 number에서 catch되었습니다. |
컴파일러 오류 C2313 | 'type1': 참조('type2')에 의해 줄 number에서 catch되었습니다. |
컴파일러 오류 C2314 | 키워드 'keyword1'은 더 이상 사용되지 않습니다. 대신 'keyword2' 사용 |
컴파일러 오류 C2315 | 'type1': 'type2'가 줄 number에서 참조를 catch했습니다. |
컴파일러 오류 C2316 | 'type': 소멸자로 Catch할 수 없거나 복사 생성자에 액세스할 수 없거나 복사 생성자를 삭제할 수 없습니다. |
컴파일러 오류 C2317 | 줄 'number'에서 시작하는 'try' 블록에 catch 처리기가 없습니다. |
컴파일러 오류 C2318 | 이 catch 처리기와 관련된 try 블록이 없습니다. |
컴파일러 오류 C2319 | 'try/catch'는 복합 문이 뒤에 와야 합니다. '{'가 없습니다. |
컴파일러 오류 C2320 | 액세스 지정자 'specifier' 다음에 ':'이 필요합니다. |
컴파일러 오류 C2321 | 'identifier'는 키워드이며 이 컨텍스트에서 사용할 수 없습니다. |
컴파일러 오류 C2322 | 'identifier': 'identifier' dllimport의 주소가 고정 주소가 아닙니다. |
컴파일러 오류 C2323 | 'identifier': 멤버가 아닌 연산자 new 또는 delete 함수는 static으로 선언하거나 전역 네임스페이스가 아닌 네임스페이스에서 선언할 수 없습니다. |
컴파일러 오류 C2324 | 'identifier': '::~' 오른쪽에 필요하지 않습니다. |
컴파일러 오류 C2325 | 'type1': '->~' 오른쪽에 올 수 있는 형식이 아닙니다. 'type2'가 필요합니다. |
컴파일러 오류 C2326 | 'declarator': 함수에서 'identifier'에 액세스할 수 없습니다. |
컴파일러 오류 C2327 | 'identifier': 형식 이름, 정적 또는 열거자가 아닙니다. |
컴파일러 오류 C2328 | 'keyword': 아직 지원되지 않는 키워드입니다. |
컴파일러 오류 C2329 | 'identifier': __ptr64는 함수에 대한 포인터에 사용할 수 없습니다. |
컴파일러 오류 C2330 | 'implementation_key( )'는 #pragma start_map_region/stop_map_region에 의해 제한된 영역에서만 유효합니다. |
컴파일러 오류 C2331 | 'identifier'에 대한 액세스는 이제 'accessibility1'로 정의되었으며, 이전에는 'accessibility2'로 정의되었습니다. |
컴파일러 오류 C2332 | 'typedef': 태그 이름이 없습니다. |
컴파일러 오류 C2333 | 'function': 함수 선언에 오류가 있습니다. 함수 본문을 건너뜁니다. |
컴파일러 오류 C2334 | 'token' 앞에 예기치 않은 토큰이 있습니다. 명백한 함수 본문을 건너뜁니다. |
컴파일러 오류 C2335 | 'identifier': 형식은 함수 매개 변수 목록에 정의할 수 없습니다. |
컴파일러 오류 C2336 | 'type': 잘못된 형식입니다. |
컴파일러 오류 C2337 | 'attribute': 특성을 찾을 수 없습니다. |
컴파일러 오류 C2338 | (외부 공급자의 오류 메시지) |
컴파일러 오류 C2339 | 'identifier': 포함 IDL에 잘못된 형식이 있습니다. |
컴파일러 오류 C2340 | 'identifier': 'static'은 클래스 정의 내에서만 사용할 수 있습니다. |
컴파일러 오류 C2341 | 'section': 세그먼트를 사용하려면 먼저 #pragma data_seg, code_seg 또는 section을 사용하여 세그먼트를 정의해야 합니다. |
컴파일러 오류 C2342 | 구문 오류: 형식 한정자가 충돌합니다. |
컴파일러 오류 C2343 | 'section': 섹션 특성이 충돌합니다. |
컴파일러 오류 C2344 | align(number): 맞춤은 2의 거듭제곱이어야 합니다. |
컴파일러 오류 C2345 | align(number): 맞춤 값이 잘못되었습니다. |
컴파일러 오류 C2346 | 'function'은 네이티브로 컴파일할 수 없습니다. 'explanation' |
컴파일러 오류 C2347 | 사용되지 않습니다. |
컴파일러 오류 C2348 | 'type': C 스타일 집계가 아니므로 포함 IDL에서 내보낼 수 없습니다. |
컴파일러 오류 C2349 | 'function'은 관리 코드로 컴파일할 수 없습니다. 'explanation'. #pragma unmanaged를 사용하십시오. |
컴파일러 오류 C2350 | 'identifier'는 정적 멤버가 아닙니다. |
컴파일러 오류 C2351 | 사용되지 않는 C++ 생성자 초기화 구문입니다. |
컴파일러 오류 C2352 | 'identifier': 비정적 멤버 함수를 잘못 호출했습니다. |
컴파일러 오류 C2353 | 예외 사양이 허용되지 않습니다. |
컴파일러 오류 C2354 | 사용되지 않습니다. |
컴파일러 오류 C2355 | 'this': 비정적 멤버 함수 또는 비정적 데이터 멤버 이니셜라이저 안에서만 참조할 수 있습니다. |
컴파일러 오류 C2356 | 초기화 세그먼트는 변환 단위 동안 바뀌지 않아야 합니다. |
컴파일러 오류 C2357 | 'identifier': 'type' 형식 함수여야 합니다. |
컴파일러 오류 C2358 | 'identifier': 클래스 정의 외부에서 정적 속성을 정의할 수 없습니다. |
컴파일러 오류 C2359 | 사용되지 않습니다. |
컴파일러 오류 C2360 | 'identifier' 초기화가 'case' 레이블에 의해 생략되었습니다. |
컴파일러 오류 C2361 | 'identifier' 초기화가 'default' 레이블에 의해 생략되었습니다. |
컴파일러 오류 C2362 | 'identifier' 초기화가 'goto 레이블'에 의해 생략되었습니다. |
컴파일러 오류 C2363 | 컴파일러 내장 숫자 제한 함수에는 문자열 리터럴 인수가 필요합니다. |
컴파일러 오류 C2364 | 'type': 사용자 지정 특성의 형식이 잘못되었습니다. |
컴파일러 오류 C2365 | 'member1': 재정의: 이전 정의는 'member2'입니다. |
컴파일러 오류 C2366 | 'identifier': 재정의. implementation_key 지정자가 다릅니다. |
컴파일러 오류 C2367 | 사용되지 않습니다. |
컴파일러 오류 C2368 | 'identifier': 재정의. 할당 지정자가 다릅니다. |
컴파일러 오류 C2369 | 'identifier': 재정의. 첨자가 다릅니다. |
컴파일러 오류 C2370 | 'identifier': 재정의. 스토리지 클래스가 다릅니다. |
컴파일러 오류 C2371 | 'identifier': 재정의. 기본 형식이 다릅니다. |
컴파일러 오류 C2372 | 'identifier': 재정의. 간접 참조 형식이 다릅니다. |
컴파일러 오류 C2373 | 'identifier': 재정의. 형식 한정자가 다릅니다. |
컴파일러 오류 C2374 | 'identifier': 재정의. 여러 번 초기화했습니다. |
컴파일러 오류 C2375 | 'identifier': 재정의. 링크가 다릅니다. |
컴파일러 오류 C2376 | 'identifier': 재정의. 기반 할당이 다릅니다. |
컴파일러 오류 C2377 | 'identifier': 재정의. 다른 기호를 사용하여 형식 정의를 오버로드할 수 없습니다. |
컴파일러 오류 C2378 | 'identifier': 재정의. 형식 정의를 사용하여 기호를 오버로드할 수 없습니다. |
컴파일러 오류 C2379 | 승격될 때 형식 매개 변수 number 형식이 다릅니다. |
컴파일러 오류 C2380 | 'identifier' 앞에 형식이 있습니다. 반환 형식이 있는 생성자이거나 현재 클래스 이름을 잘못 재정의한 것 같습니다. |
컴파일러 오류 C2381 | 'identifier': 재정의. '__declspec(noreturn)' 또는 '[[noreturn]]'이 다릅니다. |
컴파일러 오류 C2382 | 'identifier': 재정의. 예외 사양이 다릅니다. |
컴파일러 오류 C2383 | 'identifier': 이 기호에는 기본 인수를 사용할 수 없습니다. |
컴파일러 오류 C2384 | 'member': 관리/WinRT 클래스의 멤버에 thread_local 또는 __declspec(thread)를 적용할 수 없습니다. |
컴파일러 오류 C2385 | 'member' 액세스가 모호합니다. |
컴파일러 오류 C2386 | 'identifier': 이름이 같은 기호가 현재 범위에 이미 있습니다. |
컴파일러 오류 C2387 | 'identifier': 모호한 기본 클래스 |
컴파일러 오류 C2388 | 'identifier': __declspec(appdomain)와 __declspec(process)를 둘 다 사용하여 기호를 선언할 수 없습니다. |
컴파일러 오류 C2389 | 'operator': 'nullptr'는 잘못된 피연산자입니다. |
컴파일러 오류 C2390 | 'identifier': 잘못된 스토리지 클래스 'specifier' |
컴파일러 오류 C2391 | 'identifier': 형식을 정의하는 동안에는 'friend'를 사용할 수 없습니다. |
컴파일러 오류 C2392 | 'member1': 공변(covariant) 반환 형식은 관리/WinRT 형식에서 지원되지 않습니다. 지원되는 경우 'member2'가 재정의됩니다. |
컴파일러 오류 C2393 | 'symbol': 'segment' 세그먼트에 appdomain별 기호를 할당할 수 없습니다. |
컴파일러 오류 C2394 | 'type::operator operator': CLR/WinRT 연산자가 잘못되었습니다. 하나 이상의 매개 변수가 'T^', 'T^%', 'T^&' 형식이어야 합니다(여기서 T = 'type'). |
컴파일러 오류 C2395 | 'type::operator operator': CLR/WinRT 연산자가 잘못되었습니다. 하나 이상의 매개 변수가 'T', 'T%', 'T&', 'T^', 'T^%', 'T^&' 형식이어야 합니다(여기서 T = 'type'). |
컴파일러 오류 C2396 | 'type1::operator type2': CLR/WinRT 사용자 정의 변환 함수가 잘못되었습니다. 다음에서 변환되거나 다음으로 변환해야 합니다. 'T^', 'T^%', 'T^&'(T = 'type1') |
컴파일러 오류 C2397 | 'type1'에서 'type2'로의 변환에는 축소 변환이 필요합니다. |
컴파일러 오류 C2398 | 요소 'number': 'type1'에서 'type2'로 변환하려면 축소 변환이 필요합니다. |
컴파일러 오류 C2399 | 사용되지 않습니다. |
참고 항목
C/C++ 컴파일러 및 빌드 도구 오류/경고
컴파일러 오류 C2001 ~ C3999, C7000 ~ C7999