>  기사  >  백엔드 개발  >  질문-답변 쌍 형식의 기사 제목은 다음과 같습니다. **옵션 1(오류에 집중):** * **왜 d시 \"예상 상수 표현식\" 오류가 발생합니까?

질문-답변 쌍 형식의 기사 제목은 다음과 같습니다. **옵션 1(오류에 집중):** * **왜 d시 \"예상 상수 표현식\" 오류가 발생합니까?

Patricia Arquette
Patricia Arquette원래의
2024-10-25 00:00:02985검색

Here are some potential titles for your article, formatted as question-answer pairs:

**Option 1 (Focus on the Error):**
* **Why am I getting an

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

C에서 배열 선언에는 상수 크기가 필요합니다. 상수가 아닌 표현식으로 배열을 선언하려고 하면 "예상 상수 표현식" 오류가 발생합니다.

다음 코드 조각을 고려하세요.

<code class="cpp">int size = 100;
float x[size][2]; // Error</code>

이 예에서는 size는 런타임 값이므로 상수가 아닌 표현식이 됩니다. 따라서 컴파일러는 컴파일 타임에 배열의 크기를 확인할 수 없어 오류가 발생합니다.

해결 방법

이 문제를 해결하려면 다음과 같은 데이터 구조를 사용하세요. std::Vector와 같은 동적 크기 조정을 지원합니다:

<code class="cpp">std::vector<std::array<float, 2>> x(size);</code>

또는 new를 사용하여 배열에 메모리를 할당할 수 있습니다.

<code class="cpp">float (*px)[2] = new float[size][2];</code>

다음에 삭제[] px를 기억하세요 메모리를 확보하려면 사용하세요.

기타 옵션

std::Vector:

    std::pair 벡터 사용
  • 템플릿을 사용하여 동적 크기 조정으로 자신만의 배열 유형 만들기

위 내용은 질문-답변 쌍 형식의 기사 제목은 다음과 같습니다. **옵션 1(오류에 집중):** * **왜 d시 \"예상 상수 표현식\" 오류가 발생합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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