>백엔드 개발 >C++ >C에서 배열 크기에 대한 \'예상 상수 표현식 오류\'를 해결하는 방법은 무엇입니까?

C에서 배열 크기에 대한 \'예상 상수 표현식 오류\'를 해결하는 방법은 무엇입니까?

DDD
DDD원래의
2024-10-24 21:55:02705검색

How to Resolve the

배열 크기에 대해 예상되는 상수 표현식 오류

C에서는 런타임 크기로 배열을 선언하는 것이 허용되지 않습니다. 이 오류는 float x[size][2] 줄에서 발생합니다. 컴파일러는 배열 크기가 상수 표현식일 것으로 예상하기 때문입니다.

해결 방법

이 오류를 해결하려면 , 대체 접근 방식을 사용할 수 있습니다.

  1. std::Vector: 배열 벡터를 사용하여 런타임 시 배열 크기를 지정합니다. std::Vector< 표준::배열 > x(size);
  2. 동적 메모리 할당: new 및 delete 연산자를 사용하여 동적 메모리 할당을 활용합니다: float (*px)[2] = new float[size][2];.
  3. 사용자 정의 배열 유형: C 11이나 Boost 모두 액세스할 수 없는 경우 벡터 내에 배치할 수 있는 사용자 정의 배열 유형을 정의합니다.
  4. std::pair : std::pair 벡터를 사용합니다. 더 간단한 구문은 다음과 같습니다. std::Vector< std::쌍<부동, 부동> > x(size);

컴파일 타임에 표현식을 평가할 수 없을 때 예상되는 상수 표현식 오류가 발생한다는 점에 유의하는 것이 중요합니다. 배열 선언의 경우 상수 표현식을 사용하면 컴파일러가 컴파일 시 배열의 크기를 결정할 수 있습니다.

위 내용은 C에서 배열 크기에 대한 '예상 상수 표현식 오류'를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.