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

델파이 Q&A
Delphi Programming Q&A
[14984] Re:Re:연산자 오버로딩에 관련해서 델파이 컴파일러의 버그일까요?
루도라 [noxi76] 1934 읽음    2014-02-13 10:37
답변 감사합니다.

kylix 님이 쓰신 글 :
: 메소드가 레코드구조체를 반환하는 경우 left assignment는 안됩니다. 델파이 문법이에요.
:
: 루도라 님이 쓰신 글 :
: : 아래와 같은 코드를 컴파일 하면 에러가 나네요.
: :
: : type
: :   PR= ^TR;
: :   TR= record
: :     Form: TForm;
: : 
: :     class operator Implicit(const Value: TR): string;
: :     class operator Implicit(const Value: string): TR;
: :     class operator LeftShift(const Value1: TR; const Value2: string): TR;
: :   end
: : 
: : ...
: : 
: : class operator TR.Implicit(const Value: TR): string;
: : begin
: :   Result:= Value.Form.Caption;
: : end;
: : 
: : class operator TR.Implicit(const Value: string): TR;
: : begin
: :   Result.Form.Caption:= Value;
: : end;
: : 
: : class operator TR.LeftShift(const Value1: TR; const Value2: string): TR;
: : begin
: :   Value1.Form.Caption:= Value2;
: :   Result:= Value1;
: : end;
: : 
: : function TForm1.GetR: TR;
: : begin
: :   Result.Form:= Self;
: : end;
: : 
: : function TForm1.GetRP: PR;
: : var
: :   R: TR;
: : begin
: :   R.Form:= Self;
: :   Result:= @R;
: : end;
: : 
: : procedure TForm1.Test1;
: : begin
: :   GetR:= 'Hello, World'; // <-- E2064 Left side cannot be assigned to
: :   GetRP^:= 'Hello, World'; // 잘됩니다.
: :   GetR shl 'Hello, World'; // 잘됩니다.
: : end;
: : 

: : assign 연산자에서만 에러가 나는데 버그일까요? 아니면 제가 뭔가 잘못한 걸까요?
: :
: : 연산자 오버로딩 자체는 잘 됩니다.
: :
: : var
: :   R: TR;
: : begin
: :   R.Form:= Self;
: :   R:= 'Hello, World'; // 잘됩니다.
: : end;
: : 

: : ps. 쓸데없이 긴 코드를 늘어놔서 죄송합니다. ㅠ.ㅠ
: :

+ -

관련 글 리스트
14980 연산자 오버로딩에 관련해서 델파이 컴파일러의 버그일까요? 루도라 2019 2014/02/12
14983     Re:연산자 오버로딩에 관련해서 델파이 컴파일러의 버그일까요? kylix 2107 2014/02/13
14984         Re:Re:연산자 오버로딩에 관련해서 델파이 컴파일러의 버그일까요? 루도라 1934 2014/02/13
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.