자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
C++ Builder tuple 을 사용할수 없나요?
2021.04.01 15:44
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
tuple를 사용할수 있는 것으로 알고 있는데,
https://notepad96.tistory.com/entry/C-2%EC%8C%8D-3%EC%8C%8D-%EA%B0%92-%EB%AC%B6%EA%B8%B0-Pair-Tuple
의 tuple 예제를 컴파일 하면 에러가 발생을 합니다.
classic compiler로 컴파일 하면, [bcc32 Error] File1.cpp(30): E2451 Undefined symbol 'tuple' 에러가 발생 합니다.
clang으로 컴파일 하며 cout << get<0>(v2[i]) << ":" << get<1>(v2[i]) << ":" << get<2>(v2[i]) << "\n"; 부분에서 에러가 발생을 합니다.
간단한 소소 인데, 무엇이 문제 인가요?
설마, tuple을 지원하지 않는 것은 아니죠?
최소한 clang에서 사용하려면, 어떻게 소스를 수정해야 하나요?
소스를 첨부하니 확인 부탁 드립니다.
댓글 3
-
김원경
2021.04.02 10:13
-
하루
2021.04.02 11:17
설명 감사 드립니다. ^^
델파이가 아닌, C++ 빌더를 사용중입니다.
C++ 빌더에서 예전부터 지원을 하는 것으로 알고 있었는데, 10.4.2 버전에서 컴파일 에러가 발생을 하네요.
무엇이 문제인지 모르겠습니다.
-
김원경
2021.04.02 13:51
죄송합니다. 저는 델파이인줄 알았습니다.
주신 링크 예제는 visual studio 예제인것 같습니다. 아래 주소를 참조하시면 c++ 에서 사용하는 예제입니다.
혹시 #include 절에 다음이 있는지 확인하시기 바랍니다.
#include <tuple>
https://blogs.embarcadero.com/quickly-write-efficient-code-with-modern-structured-bindings-available-in-c17-with-cbuilder/
C++ Builder tuple 을 사용할수 없나요?
2021.04.01 15:44
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
tuple를 사용할수 있는 것으로 알고 있는데,
https://notepad96.tistory.com/entry/C-2%EC%8C%8D-3%EC%8C%8D-%EA%B0%92-%EB%AC%B6%EA%B8%B0-Pair-Tuple
의 tuple 예제를 컴파일 하면 에러가 발생을 합니다.
classic compiler로 컴파일 하면, [bcc32 Error] File1.cpp(30): E2451 Undefined symbol 'tuple' 에러가 발생 합니다.
clang으로 컴파일 하며 cout << get<0>(v2[i]) << ":" << get<1>(v2[i]) << ":" << get<2>(v2[i]) << "\n"; 부분에서 에러가 발생을 합니다.
간단한 소소 인데, 무엇이 문제 인가요?
설마, tuple을 지원하지 않는 것은 아니죠?
최소한 clang에서 사용하려면, 어떻게 소스를 수정해야 하나요?
소스를 첨부하니 확인 부탁 드립니다.
댓글 3
-
김원경
2021.04.02 10:13
-
하루
2021.04.02 11:17
설명 감사 드립니다. ^^
델파이가 아닌, C++ 빌더를 사용중입니다.
C++ 빌더에서 예전부터 지원을 하는 것으로 알고 있었는데, 10.4.2 버전에서 컴파일 에러가 발생을 하네요.
무엇이 문제인지 모르겠습니다.
-
김원경
2021.04.02 13:51
죄송합니다. 저는 델파이인줄 알았습니다.
주신 링크 예제는 visual studio 예제인것 같습니다. 아래 주소를 참조하시면 c++ 에서 사용하는 예제입니다.
혹시 #include 절에 다음이 있는지 확인하시기 바랍니다.
#include <tuple>
https://blogs.embarcadero.com/quickly-write-efficient-code-with-modern-structured-bindings-available-in-c17-with-cbuilder/
tuple을 사용하시려면 아래 주소에서 https://github.com/malcolmgroves/generics.tuples/blob/master/src/Generics.Tuples.pas 를 다운 받으시고 uses절에 추가하시어 사용하시어야합니다.
델파이 자체 제너릭 타입중에 2개를 PAIR로 사용할 수 있는 TDictionary라는 갓도 있습니다. 참조하시기 바랍니다.
var MyDictionary := TDictionary<string, Integer>.Create;
MyDictionary.Add ('one', 1);
MyDictionary.Add ('two', 2);
var APair := MyDictionary.ExtractPair('two');