Share via


C6283

경고 C6283: <variable>이(가) 배열 new []를 사용해 할당되었지만 스칼라 delete로 삭제되었습니다.

이 경고는 C++ 코드에서만 나타나며 호출하는 함수에서 배열 new [] 연산자를 사용해 메모리를 할당했지만 스칼라 delete 연산자를 사용해 일관성 없이 해제했음을 나타냅니다. 이 오류로 인해 누수와 메모리 손상이 발생할 수 있으며 연산자가 재정의된 경우에는 충돌이 발생할 수 있습니다. 메모리를 배열 new []로 할당한 경우 일반적으로 배열 delete[]로 해제해야 합니다.

예제

다음 코드에서는 이 경고를 발생시킵니다.

void f( )
{
  char *str = new char[50];
  // code ...
  delete str;
}

이 경고를 해결하려면 다음 코드를 사용합니다.

void f( )
{
  char *str = new char[50];
  // code ...
  delete[] str;
}

경고 C6283은 정수나 문자와 같은 기본 형식의 배열에만 적용됩니다. 배열의 요소가 클래스 형식 개체인 경우 경고 C6278이 발생합니다.