internal compiler error: in gimplify_expr
글쓴이: empty79 / 작성시간: 금, 2009/06/26 - 11:41오전
일단 제가 짠 코드는 아니고 누가 짜논 코드인데..
아래 코드가 수세 10.3에서 컴파일이 된다고합니다. 수세 11(gcc 4.3.1)에서는 아래 에러 메세지를 뱉으면서 안됩니다.
해결방법은'맴버 클래스에 디폴트 생성자를 정의해주고 초기화 부분을 별도의 함수로 빼는 방법'과 '매니저 클래스에서 배열 포인터를 가지고 생성자에서 new를 해주는 방법'등을 생각해봤는데..
궁금한 내용은..
1. 원래 배열을 생성자에서 저렇게 초기화하는 방법이 있나요?
2. 에러 코드가 생소해서.. 저 에러 코드에 대해 아시는 분 알려주세요..
에러
bad2.cpp: In constructor ‘CManager::CManager()’: bad2.cpp:22: internal compiler error: in gimplify_expr, at gimplify.c:6135 Please submit a full bug report, with preprocessed source if appropriate. See <http://bugs.opensuse.org/> for instructions.
코드
1 #include <iostream> 2 3 class CMember 4 { 5 public: 6 CMember( int n ) 7 : m_nID(n) 8 {} 9 ~CMember(){} 10 11 private: 12 int m_nID; 13 }; 14 15 #define SIZE 10 16 typedef CMember MEMEBER_ARRAY[SIZE]; 17 18 class CManager 19 { 20 public: 21 CManager() 22 : m_Members( (MEMEBER_ARRAY) { CMember(1), CMember(2), CMember(3), CMember(4),CMember(5), CMember(6), CMember(7), CMember(8), CMember(9), CMember(10) } ) 23 {} 24 ~CManager(){} 25 26 private: 27 MEMEBER_ARRAY m_Members; 28 }; 29 30 int main() 31 { 32 CManager manager; 33 };
Forums:
댓글 달기