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
[54808] Graphic32에서 GR32_Transforms.hpp사용시 나는 에러
한빈짱 [hanbinjjang1] 1389 읽음    2008-10-08 11:14
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사용시 나는 에러 이정구 1154 2008/10/10
54863         Re:Re:Graphic32에서 GR32_Transforms.hpp사용시 나는 에러 한빈짱 1319 2008/10/13
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.