노골 선언이 되었는데, 이유는 마지막 장면에...
실력이 없다라는 말 보다는.. 참 운도 없네!! 가 맞을 듯..
//1)SuperClass 정의 @interface Aclass : NSObject { ... } -(Aclass*) initA; //Aclass의 생성자 @end //2)SubClass 정의 (Aclass 상속) @interfce Bclass : Aclass {...} -(Bclass*) initB; //3)Bclass 객체에서 Aclass의 생성자(initA)를 사용하려는 경우. 컴파일 오류 발생 ... Bclass *objB = [[Bclass alloc] initA]; .... |
위의 3)의 코드에서 initA에서 리턴하는 값이 Bclass*가 아닌 Aclass*이기 때문에 오류가 발생한다. 오류내용은 'initialization from distinct Objective-C type' 과 같은 내용임. 해결방법은 id type을 이용하여 SuperClass 생성자의 리턴값을 변경해 주면 됨 //아래와 같이 SuperClass 수정 -(id) initA; |
# GNUstep 과 DEV-C++ 설치하기
1. GNUstep System (0.24.0) 다운로드 & 설치 : http://www.gnustep.org/experience/Windows.html
2. GNUstep Core (0.23.1) 다운로드 & 설치 : http://www.gnustep.org/experience/Windows.html
3. Dev-C++ 다운로드 & 설치 : http://sourceforge.net/projects/dev-cpp/files/Binaries/Dev-C%2B%2B%204.9.9.2/devcpp-4.9.9.2_setup.exe/download
4. Dev-C++ 컴파일러 설정하기
1) 컴파일러 추가 명령 : -lobjc -lgnustep-base -fconstant-string-class=NSConstantString -enable-auto-import
2) 링커 추가 명령 : -lobjc -lgnustep-base -fconstant-string-class=NSConstantString -enable-auto-import
3) 실행 파일에 추가
C:\GNUstep\mingw\bin