FIX: 템플릿 클래스의 사용자 정의 형식 배열 구성원에서 C2233 오류

이 문서가 보관되었습니다. "그대로" 제공되었으며, 업데이트가 되지 않을 것입니다.
현상
다른 템플릿 클래스의 배열 형식인 데이터 구성원이 들어 있는 템플릿 클래스를 컴파일하는데 이 다른 클래스에 배열 형식의 데이터 구성원이 들어 있고 두 배열의 크기가 템플릿 매개 변수에 따라 다를 경우 다음 오류 메시지가 나타날 수 있습니다.
오류 C2233: '<알 수 없음>' : 크기가 0인 배열을 포함하는 개체 배열을 사용할 수 없습니다.
해결 방법
배열 대신 포인터를 사용하십시오. 생성자에 배열 공간을 할당하고 소멸자에 배열 공간 할당을 취소하십시오.
현재 상태
Microsoft는 이 문서의 시작 부분에 나열한 제품에서 이 문제를 확인했습니다.

이 버그는 Microsoft Visual Studio 6.0 서비스 팩 5(SP5)에서 해결되었습니다.

서비스 팩 5를 다운로드하려면 다음 Microsoft 웹 사이트의 Visual Studio 제품 업데이트 페이지를 참조하십시오.
추가 정보

문제를 재현하는 방법

template <int k>class A{    char x[k];};template <int h, int j>class B  {     A<h> y[j];};				

해결 방법

template <int k>class A{    char *x;    A() {        x = new char[k];    }    ~A() {        delete[] x;    }};template <int h, int j>class B  {     A<h> y[j];};				




Microsoft 제품 관련 기술 전문가들과 온라인으로 정보를 교환하시려면 Microsoft 뉴스 그룹에 참여하시기 바랍니다.
속성

문서 ID: 216977 - 마지막 검토: 02/23/2014 05:32:59 - 수정: 2.3

  • Microsoft Visual C++ 6.0 Enterprise Edition
  • Microsoft Visual C++ 6.0 Professional Edition
  • Microsoft Visual C++, 32-bit Learning Edition 6.0
  • kbnosurvey kbarchive kbbug kbfix kbvc600fix kbqfe kbcpponly kbcompiler kbhotfixserver KB216977
피드백