C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[54845] Re:Graphic32에서 GR32_Transforms.hpp사용시 나는 에러
이정구 [appleii] 1153 읽음    2008-10-10 17:48
GR32_Transforms.hpp 를 원래대로 고치신후, 다음 예제를 한번 실행해 보세요.

http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_qna&no=53331

C++Builder6 에서는 정상적으로 실행되는 예제입니다.

Mult, Adjoint 함수는 내부적으로 사용하는 것이므로 사용자가 직접 사용할 일은 없습니다.



한빈짱 님이 쓰신 글 :
: Graphic32를 설치해서 단순히 이미지 그리는 것만 쓰다가
:
: 다른 무슨 기능이 있을까해서 컴포넌트에 포함된 예제파일을 하나하나 컴파일 해봤는데.
:
: cpp로 된 예제는 별루없고 거의 pas예제더군요. 다행히 C빌더2007이라, 컴파일은 되는..
:
: 어째든 ImgView_Layers_Ex예제가 레이어사용을 잘 설명해놓은 듯 해서
:
: 해당 pas소스를 cpp로 바꿔 볼려고 했더니..  에러가;;
:
:
:
: Graphic32중에 GR32_Transforms.hpp 를 인클루드 하면 에러가 나는 군요.
:
: 에러 내용을 보니 GR32_Transforms.hpp 파일에
:
: extern PACKAGE void __fastcall Adjoint( * M); 와 같이 함수가 선언이 되어 있더군요
:
: (* M) 인자를 이런식으로 넘겨줘서 에러가 나는 듯해서
:
: GR32_Transforms.pas 파일에서 Adjoint함수를 찾아보니
:
: TFloatMatrix = array[0..2, 0..2] of TFloat;                    ->hpp내용 : typedef float TFloatMatrix[3][3];
: procedure Adjoint(var M: TFloatMatrix); 로 되어 있어
:
: extern PACKAGE void __fastcall Adjoint(TFloatMatrix M); 로 수정했더니 이 에러는 넘어가 졌습니다.
:
: hpp파일은 자동 생성되는 건데 pas-cpp호환 버그인가요;;
:
:
: 하지만 문제는 지금부터!
:
: 에러내용은 [BCC32 Error] GR32_Transforms.hpp(530): E2091 Functions cannot return arrays or functions
:
: hpp의 내용 : extern PACKAGE TFloatMatrix __fastcall Mult( const * M1,  const * M2);
:
: 에러 내용은 함수 리턴 값으로 배열이 오면 안된다는 정도 인거 같은데 수정을 위해 pas파일을 보았습니다.
:
: function Mult(const M1, M2: TFloatMatrix): TFloatMatrix;
: var
:   i, j: Integer;
: begin
:   for i := 0 to 2 do
:     for j := 0 to 2 do
:       Result[i, j] :=
:         M1[0, j] * M2[i, 0] +
:         M1[1, j] * M2[i, 1] +
:         M1[2, j] * M2[i, 2];
: end;
:
: TFloatMatrix Result를 반환하는 함수인듯한데
:
: 델파이에서는 배열을 반환하는 것이 가능한가 봅니다.
:
: cpp에서는 리턴값이 배열이 안되나본데..
:
: 그러면 GR32_Transforms.hpp는 cpp에서 사용할 수 없는 건가요???
:
: 제가 너무 걷돌았나요??
: 질문은 GR32_Transforms.hpp를 인클루드 해서 쓰는 법!! 입니다;;

+ -

관련 글 리스트
54808 Graphic32에서 GR32_Transforms.hpp사용시 나는 에러 한빈짱 1389 2008/10/08
54845     Re:Graphic32에서 GR32_Transforms.hpp사용시 나는 에러 이정구 1153 2008/10/10
54863         Re:Re:Graphic32에서 GR32_Transforms.hpp사용시 나는 에러 한빈짱 1318 2008/10/13
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.