17286번 - 유미
처음에 코드를 작성할때는 아래 코드에서 28, 29 라인을 합쳐서 auto [r, c] = e; 라고 작성했습니다.
그런데 답이 이상하게 나와서, r = nr; c = nc; 형태로 바꿔주니까 통과되었습니다.
참조 관련 문제일거라 예상중인데 정확히 원인을 모르겠네요 ㅠㅠ
테스트를 더 해봤는데 28, 29라인을 합쳐서 auto& [r, c] = e; 로 처리하면 정상작동합니다... auto [r, c] = e; 로 처리하면 r하고 c가 초기값으로 사용한 r_, c_에서 바뀌지 않고 계속 유지됩니다.. 이유가 뭘까요 ㅠㅠ
auto [r,c] = e;
는 r,c 변수를 새로 만듭니다.
이경우는 std::tie(r,c) = e;
@seico75
해결되었습니다 감사합니다!
댓글을 작성하려면 로그인해야 합니다.
y_ht 3년 전
처음에 코드를 작성할때는 아래 코드에서 28, 29 라인을 합쳐서 auto [r, c] = e; 라고 작성했습니다.
그런데 답이 이상하게 나와서, r = nr; c = nc; 형태로 바꿔주니까 통과되었습니다.
참조 관련 문제일거라 예상중인데 정확히 원인을 모르겠네요 ㅠㅠ