이 방법으로 메모리를 할당 한 할당 프로그램을 작성했습니다 : EdgeBucket* edgeTable[ n_scanlines ];
. 나는 이것이 C에서는 일반적으로 불법이라는 것을 알고 있지만, C++에서도 그렇게 할 수 없다는 것을 알지 못했습니다. 그러나 g ++을 사용하여 컴파일 할 때 컴파일 오류가 발생하지 않습니다. 그러나 내 학년은 비주얼 스튜디오를 사용하고 있으며 프로그램을 만들려고 할 때 배열의 길이가 일정해야한다는 오류가있었습니다. 필자는 일반적으로 크로스 컴파일러의 무결성을 보장하기 위해 -ansi 및 -Wall 옵션을 사용하여 프로그램을 컴파일하지만 그로 인해이를 감지하지 못했습니다. 나는 나의 성적이 이것에 의해 손상되는 것에 대해 우려하고있다. 그래서 누군가가 -ansi 컴파일러가 왜 이것을 잡지 못했고, 더 많은 크로스 컴파일러 불일치를 막기 위해 무엇을 할 수 있는지 알고있다.동적 메모리 할당에 크로스 컴파일러 문제가 발생했습니다.
1
A
답변
1
-pedantic-errors
플래그를 사용하십시오. Example.
이들은 VLA (가변 길이 어레이)로 알려져 있습니다. C에서 C에서 합법적이고 C++에서는 불법입니다.
관련 문제
- 1. 동적 메모리 할당에 필요한 메모리
- 2. 동적 메모리 할당에 대한 제한
- 3. 동적 메모리 할당에 관한 질문
- 4. 메모리/크로스 플랫폼 호환성 문제가 발생했습니다.
- 5. 생성자에서 함수와 동적 메모리 할당에 객체 전달하기
- 6. C에서 컴파일러 문제가 발생했습니다
- 7. 메모리 누출 문제가 발생했습니다.
- 8. C/C++에서 메모리 할당에 실패했습니다.
- 9. C++에서 동적 메모리 할당에 사용되는 요소의 수
- 10. C++ 메모리 할당 문제가 발생했습니다.
- 11. 메모리 누수 문제가 발생했습니다. cStringUsingEncoding
- 12. 공유 메모리 세그먼트에 문제가 발생했습니다.
- 13. CALayer로 충돌, 메모리 문제가 발생했습니다.
- 14. NSMutableArray 메모리 누수 문제가 발생했습니다.
- 15. iPhone에서 메모리 누수 문제가 발생했습니다.
- 16. AddressBook에서 메모리 누수 문제가 발생했습니다.
- 17. 티타늄 앱에서 메모리 문제가 발생했습니다.
- 18. cudaMallocManaged로 메모리 부족 문제가 발생했습니다.
- 19. 코드에서 메모리 누수 문제가 발생했습니다.
- 20. 크로스 컴파일러 빌드
- 21. cuda nvcc 크로스 컴파일러
- 22. 사용 방법 - 크로스 컴파일러 -
- 23. 크로스 컴파일러 d- 버스
- 24. 동적 할당에 실패 했습니까? C++
- 25. Java, 디 컴파일러 사용시 문제가 발생했습니다.
- 26. 플로팅 div에서 CSS 크로스 브라우저 문제가 발생했습니다.
- 27. 동적 동작 상태에 문제가 발생했습니다.
- 28. Java의 동적 바인딩에 문제가 발생했습니다.
- 29. 크로스 플랫폼 컴파일러 부트 스트랩
- 30. 크로스 프로세스 메모리 장벽
귀하의 예는 동적 메모리 할당 BTW가 아닙니다. –
그레이더가 Visual C++를 사용하고 있다면, 사용하고있는 것에 해당하는 VC++ Express 버전을 다운로드하고이를 사용하기 전에 할당을 할 수 있습니다. 원하는 경우 g ++ 및 IDE를 사용하여 개발할 수 있습니다. 당신은 지금 사용하고 있습니다 만, 이것은 당신에게 그레이더가 사용하는 것과 동일한 툴체인을 주기적으로 빌드 할 수있는 기회를줍니다. 물론이 모든 것은 VC++ Express를 설치하기 위해 Windows 시스템이나 VM에 액세스 할 수 있다고 가정합니다. –
@JesseGood 알고 있습니다. 바로 그것이 내 학년의 컴파일러에서 컴파일되지 않을 것이므로, 바로 그 주제가됩니다. – Ataraxia