종료되었습니다. 이 질문은
주제에서 벗어남 입니다. 현재 답변을 받고 있지 않습니다.
답변
여기는이 질문을 할 수있는 올바른 장소가 아니므로 나중에 참조 할 수 있도록 Stack Overflow에서 이러한 유형의 질문을하십시오.
정말로 무엇이 잘못되었는지 완전히 확신 할 수있는 충분한 코드를 제공하지는 않지만 오류를 감안할 때 떠오르는 한 가지는 다음과 같습니다. 먼저 get(int i)
메소드는 카드 컬렉션에서 실제 i 번째 Card
가 아닌 Card
의 사본을 반환합니다. :
(*Turn).getBoard().get(i).m_has_been_played_this_turn = 0;
실제로 임시 Card
<에 대한 m_has_been_played_this_turn
변수를 설정하고 있습니다. / div> 인스턴스.이 임시 Card
인스턴스는 iv가 아니라 rvalue
여야하기 때문에 오류가 발생한 위치 일 수 있습니다. id = “3b67d3eabd”>
.
이를 변경하는 한 가지 방법은 코드를 다음과 같이 변경하는 것입니다.
Card card_ = (*Turn).getBoard().get(i); card_.m_has_been_played_this_turn = 0;
그러나 이것은 여전히 acc card_
는 귀하의 카드 컬렉션에있는 i 번째 Card
의 사본 일 뿐이므로 원하는 것을 좋아하십시오. 카드 컬렉션에서 i 번째 Card
를 수정하려면 get(int i)
정의를 다음과 같이 변경하세요.
Card & Card_collection::get(int i)
그 &
는 iv id = “에서 Card
를 통과한다는 것을 의미합니다. 256a25ed4e “>