다음을 통해 공유


컴파일러 오류 C2500 ~ C2599

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

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 메시지
컴파일러 오류 C2500 'identifier1': 'identifier2'은 이미 직접 기본 클래스입니다.
컴파일러 오류 C2501 'identifier': '__declspec(specifier)'는 구조체, 공용 구조체, 클래스 또는 부호 없는 비트 필드 멤버에만 적용할 수 있습니다.
컴파일러 오류 C2502 'identifier': 기본 클래스에 액세스 한정자가 너무 많습니다.
컴파일러 오류 C2503 'class': 기본 클래스는 크기가 0인 배열을 포함할 수 없습니다.
컴파일러 오류 C2504 'class': 기본 클래스를 정의하지 않았습니다.
컴파일러 오류 C2505 'symbol': '__declspec(specifier)'는 정적 데이터 멤버 또는 전역 개체에 대한 정의 또는 선언에만 적용할 수 있습니다.
컴파일러 오류 C2506 'member': '__declspec(specifier)'는 이 기호에 적용할 수 없습니다.
컴파일러 오류 C2507 'identifier': 기본 클래스에 가상 한정자가 너무 많습니다.
컴파일러 오류 C2508 'identifier': '__declspec(specifier1)'을 '__declspec(specifier2)'과 결합할 수 없습니다.
컴파일러 오류 C2509 'identifier': 멤버 함수를 'class'에서 선언하지 않았습니다.
컴파일러 오류 C2510 'identifier': '::' 왼쪽은 클래스/구조체/공용 구조체이어야 합니다.
컴파일러 오류 C2511 'identifier': 오버로드된 멤버 함수가 'class'에 없습니다.
컴파일러 오류 C2512 'identifier': 사용할 수 있는 적절한 기본 생성자가 없습니다.
컴파일러 오류 C2513 '*type': '=' 앞에 변수를 선언하지 않았습니다.
컴파일러 오류 C2514 'class': 클래스에 생성자가 없습니다.
컴파일러 오류 C2515 'identifier': 'vtguard'는 클래스 선언 또는 정의에만 적용할 수 있습니다.
컴파일러 오류 C2516 'class': 올바른 기본 클래스가 아닙니다.
컴파일러 오류 C2517 'identifier': '::' 오른쪽을 정의하지 않았습니다.
컴파일러 오류 C2518 'keyword' 키워드는 기본 클래스 목록에 사용할 수 없으므로 무시됩니다.
컴파일러 오류 C2519 'identifier': WinRT 특성은 public 필드만 포함할 수 있습니다.
컴파일러 오류 C2520 'class': 암시적 변환에 사용할 수 있는 비 명시적 생성자가 없습니다.
컴파일러 오류 C2521 소멸자/종료자는 인수를 사용하지 않습니다.
컴파일러 오류 C2522 'identifier': 오버로드 식별자는 'identifier1'에서 사용할 수 없는데 'identifier2'에 이미 지정되어 있기 때문입니다.
컴파일러 오류 C2523 'class::~identifier': 소멸자/종료자 태그 불일치
컴파일러 오류 C2524 'identifier': 소멸자/종료자에는 'void' 매개 변수 목록이 있어야 합니다.
컴파일러 오류 C2525 'identifier': 'identifier1' 매개 변수는 기본 함수에서 이름이 'identifier2'이고 게시된 구현에서 일치해야 합니다.
컴파일러 오류 C2526 'identifier1': C 연결 함수는 C++ 클래스 'identifier2'를 반환할 수 없습니다.
컴파일러 오류 C2527 'identifier': DefaultOverload는 'function1' 및 'function2'에서 모두 지정할 수 없습니다. 구현하는 동안 하나의 사양을 제거하거나 함수 이름을 바꿉니다.
컴파일러 오류 C2528 'identifier': 참조에 대한 포인터가 잘못되었습니다.
컴파일러 오류 C2529 'identifier': 참조에 대한 참조가 잘못되었습니다.
컴파일 오류 C2530 'identifier': 참조를 초기화해야 합니다.
컴파일러 오류 C2531 'identifier': 비트 필드에 대한 참조가 잘못되었습니다.
컴파일러 오류 C2532 'identifier': 참조에 대한 한정자가 잘못되었습니다.
컴파일러 오류 C2533 'identifier': 생성자에서 반환 형식을 사용할 수 없습니다.
컴파일러 오류 C2534 'identifier': 생성자는 값을 반환할 수 없습니다.
컴파일러 오류 C2535 'identifier': 멤버 함수를 이미 정의했거나 선언했습니다.
컴파일러 오류 C2536 사용되지 않습니다.
컴파일러 오류 C2537 'specifier': 연결 사양이 올바르지 않습니다.
컴파일러 오류 C2538 사용되지 않습니다.
컴파일러 오류 C2539 사용되지 않습니다.
컴파일러 오류 C2540 배열 범위가 상수 식이 아닙니다.
컴파일러 오류 C2541 'identifier': 포인터가 아닌 개체를 삭제할 수 없습니다.
컴파일러 오류 C2542 'identifier': 클래스 개체에 초기화를 위한 생성자가 없습니다.
컴파일러 오류 C2543 '[]' 연산자에 ']'가 필요합니다.
컴파일러 오류 C2544 '()' 연산자에 ')'가 필요합니다.
컴파일러 오류 C2545 'operator': 오버로드된 연산자를 찾을 수 없습니다.
컴파일러 오류 C2546 'identifier': 형식이 PIA와 No-PIA에서 모두 정의되는 경우 PIA를 먼저 참조해야 합니다.
컴파일러 오류 C2547 'identifier': 게시된 메서드의 모든 매개 변수는 선언 시 이름을 명시적으로 지정해야 합니다.
컴파일러 오류 C2548 'function': 매개 변수 parameter에 대한 기본 매개 변수가 없습니다.
컴파일러 오류 C2549 사용자 정의 변환에서 반환 형식을 지정할 수 없습니다.
컴파일러 오류 C2550 'identifier': 생성자 이니셜라이저 목록은 생성자 정의에만 사용할 수 있습니다.
컴파일러 오류 C2551 'void *' 형식의 경우 명시적 캐스트가 필요합니다.
컴파일러 오류 C2552 'identifier': 이니셜라이저 목록을 사용하여 비 집합체를 초기화할 수 없습니다.
컴파일러 오류 C2553 'type derived_class::function': 재정의 가상 함수 반환 형식은 'type base_class::function'과 다릅니다.
컴파일러 오류 C2555 'derived_class::function': 재정의 가상 함수 반환 형식은 'base_class::function'과 다르고 공변(covariant)이 아닙니다.
컴파일러 오류 C2556 'type1 class::function': 오버로드된 함수는 'type2 class::function의 반환 형식에 의해서만 다릅니다.
컴파일러 오류 C2557 'identifier': 전용 및 보호된 멤버는 생성자 없이 초기화할 수 없습니다.
컴파일러 오류 C2558 클래스 'class': 복사 생성자를 사용할 수 없거나 복사 생성자가 'explicit'으로 선언되었습니다.
컴파일러 오류 C2559 'identifier': ref-qualifier가 있는 멤버 함수로 ref-qualifier가 없는 멤버 함수를 오버로드할 수 없습니다.
컴파일러 오류 C2560 'identifier': ref-qualifier가 없는 멤버 함수로 ref-qualifier가 있는 멤버 함수를 오버로드할 수 없습니다.
컴파일러 오류 C2561 'function': 함수는 값을 반환해야 합니다.
컴파일러 오류 C2562 'function': 'void' 함수에서 값을 반환하고 있습니다.
컴파일러 오류 C2563 정식 매개 변수 목록과 일치하지 않는 항목이 있습니다.
컴파일러 오류 C2564 사용되지 않습니다.
컴파일러 오류 C2565 'identifier': 생성자/소멸자에 대해 ref-qualifier가 잘못되었습니다.
컴파일러 오류 C2566 조건식에 오버로드된 함수가 있습니다.
컴파일러 오류 C2567 'filename'에서 메타데이터를 열 수 없습니다. possible_reason
컴파일러 오류 C2568 'identifier': 함수 오버로드를 확인할 수 없습니다.
컴파일러 오류 C2569 'identifier': 열거형/공용 구조체를 기본 클래스로 사용할 수 없습니다.
컴파일러 오류 C2570 'identifier': 공용 구조체에서 기본 클래스를 사용할 수 없습니다.
컴파일러 오류 C2571 'identifier': 가상 함수가 'union' 공용 구조체에 있을 수 없습니다.
컴파일러 오류 C2572 'function': 기본 인수 재정의: 매개 변수 number
컴파일러 오류 C2573 'class': 이 형식의 개체에 대한 포인터를 삭제할 수 없습니다. 클래스에 'operator delete'에 대한 비배치 오버로드가 없습니다. ::delete를 사용하거나 클래스에 'operator delete(void*)'를 추가합니다.
컴파일러 오류 C2574 'destructor': static으로 선언할 수 없습니다.
컴파일러 오류 C2575 'identifier': 멤버 함수와 기본만 virtual일 수 있습니다.
컴파일러 오류 C2576 'identifier': 새 가상 메서드를 'public'으로 도입할 수 없습니다. 비가상 메서드를 만들거나 액세스 가능성을 'internal' 또는 'protected private'으로 변경하십시오.
컴파일러 오류 C2577 'identifier': 소멸자/종료자에는 반환 형식을 사용할 수 없습니다.
컴파일러 오류 C2578 'class': 형식에는 'protected' 또는 'protected public' 생성자를 사용할 수 없습니다.
컴파일러 오류 C2579 type 형식을 확인할 수 없습니다(offset). filename에 필요합니다.
컴파일러 오류 C2580 'identifier': 여러 버전의 기본값으로 설정된 특수 멤버 함수는 허용되지 않습니다.
컴파일러 오류 C2581 'type': 정적 'operator =' 함수를 사용할 수 없습니다.
컴파일러 오류 C2582 '연산자 operator' 함수는 'type'에서 사용할 수 없습니다.
컴파일러 오류 C2583 'identifier': 'const/volatile' 'this' 포인터는 생성자/소멸자에 맞지 않습니다.
컴파일러 오류 C2584 'class': 직접 기본 'base_class2'에 액세스할 수 없습니다. 이미 'base_class1'의 기본입니다.
컴파일러 오류 C2585 'type'로의 명시적 변환이 모호합니다.
컴파일러 오류 C2586 사용자 정의 변환 구문이 잘못되었습니다. 간접 참조가 잘못되었습니다.
컴파일러 오류 C2587 'identifier': 지역 변수를 기본 매개 변수로 잘못 사용했습니다.
컴파일러 오류 C2588 '::~identifier': 잘못된 전역 소멸자/종료자
컴파일러 오류 C2589 'identifier': '::' 오른쪽에 잘못된 토큰이 있습니다.
컴파일러 오류 C2590 'identifier': 한 생성자에만 기본/멤버 이니셜라이저 목록을 사용할 수 있습니다.
컴파일러 오류 C2591 ExclusiveTo는 'type'를 인수로 사용할 수 없습니다. 'ref 클래스'만 유효한 인수입니다.
컴파일러 오류 C2592 'class': 'base_class2'는 'base_class1'에서 상속되며 다시 지정할 수 없습니다.
컴파일러 오류 C2593 '연산자 identifier'가 모호합니다.
컴파일러 오류 C2594 'operator': 'type1'에서 'type2'로의 모호한 변환
컴파일러 오류 C2595 'identifier' A WinRT 특성 유형은 sealed가 되어야 합니다.
컴파일러 오류 C2596 'identifier' A WinRT 특성 필드는 'public enum class', 'int', 'unsigned int', 'bool', 'Platform::Type', 'Platform::String' 또는 'Windows::Foundation::HResult'여야 합니다.
컴파일러 오류 C2597 비정적 멤버 'identifier'에 대한 참조가 잘못되었습니다.
컴파일러 오류 C2598 연결 사양은 전역 범위에 있어야 합니다.
컴파일러 오류 C2599 'identifier': 관리/WinRT 열거형의 정방향 선언은 허용되지 않습니다.

참고 항목

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