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
[76041] lambda expression 에서 parameter의 property에 쓰기시 this 가 implicit capture 되는 문제
아루스 [tinydew4] 1519 읽음    2021-02-10 14:07
테스트 예제:
14] auto Test{_STD make_unique<TStringList>()};
15] [](TStrings * Var) {
16]     Var->Values["Key"] = "Value";
17] }(Test.get());

컴파일 에러:
[bcc64 Error] Unit1.cpp(16): 'this' cannot be implicitly captured in this context

위와 같이 lambda expression 내부에서 capture가 필요없는 parameter의 property에 값을 쓸 경우 에러가 발생합니다.
암묵적 this capture에 대한 에러인데, 이 코드에서 this capture가 발생해야 할 이유를 모르겠습니다.

위와 같은 경우에는 Var->Add("Key=Value"); 로 바꾸면 this capture가 없어도 되긴 합니다만,
property의 값을 바꾸는 함수가 없을 경우 모두 구현해야해서 불편함이 생기네요.

+ -

관련 글 리스트
76041 lambda expression 에서 parameter의 property에 쓰기시 this 가 implicit capture 되는 문제 아루스 1519 2021/02/10
76042     Re: lambda expression this 가 implicit capture 되는 문제. 엠바 컴파일러 버그임. 빌더(TWx) 1811 2021/02/10
76073         Re:Re: lambda expression this 가 implicit capture 되는 문제. 엠바 컴파일러 버그임. 아루스 1305 2021/03/04
76048         Re:Re: 내공이 엄청나시네요 우인텍크 1553 2021/02/16
76049             Re:Re:Re: 내공이 엄청나시네요 1413 2021/02/16
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.