-
[C++ Error] Restaurant.cpp(206): E2093 'operator*' not implemented in type '_STL::list<AnsiString,_STL::allocator<AnsiString> >' for arguments of the same type
2024. 5. 29.
for (size_t i = 0; i < CookingList.size(); ++i) { gridHallList->Cells[1][gridHallList->RowCount-1] = *CookingList; gridHallList->RowCount += 1; }
수정 전 코드
오류 메시지는 std::list 타입에 대해 operator*를 사용할 수 없다는 것입니다. std::list는 인덱스나 포인터처럼 사용할 수 없으며, 반복자를 사용하여 접근해야 합니다.
void __fastcall TForm1::btnOrderClick(TObject *Sender) { String MenuName = gridHallMenu->Cells[gridHallMenu->Col][gridHallMenu->Row]; std::list<String> CookingList; CookingList.push_back(MenuName); // 현재 행 수를 기준으로 새 행을 추가하고 값을 설정 for (std::list<String>::iterator it = CookingList.begin(); it != CookingList.end(); ++it) { gridHallList->Cells[1][gridHallList->RowCount - 1] = *it; // 값 설정 gridHallList->RowCount += 1; // 새 행 추가 } }
반복자 사용: std::list의 요소를 순회하기 위해 반복자를 사용했습니다.
'프로그래밍언어 > C++' 카테고리의 다른 글
[Visual C++] 헤더파일, 라이브러리 파일 사용 (0) 2024.08.29 [C++ Builder] 이벤트 핸들러 사용해서 다른 클래스에 변수 넘겨주기 (0) 2024.05.30 [C++] 타이머 동적 생성 (0) 2024.05.30 [C++ Builder] 그리드에서 선택한 값을 String에 넣고 싶을 때, 편집 할 수 있게 바꾸고 싶을 때 (0) 2024.05.28 [C++ Builder] TIniFile 클래스 (0) 2024.05.28 댓글