mk_6308am   3년 전

문제와 크게는 관련이 없는 질문입니다. 현재 입력값을 받는 단계에서 막혔습니다.

인접 리스트로 접근하려고 vector 배열을 V + 1 크기만큼 동적할당하고, 각 입력마다 인접 V를 push_back 합니다.

그리고 잘 들어갔는지 확인하는 단계 (16번째 줄) 에서는 index: 1 ~ V 까지 for loop을 거쳐서 adj[1] ~ adj[V] 에 해당하는 각 벡터들에 대해서 not empty일 때만 해당 멤버들을 출력하는 과정입니다.

test case input에 대해서는 잘 출력되긴 하는데, 버퍼 오버런 경고가 출력되길래 이유를 생각해봐도 떠올리기가 쉽지가 않아서 질문올립니다.

감사합니다.

byeongkeunahn   3년 전

제 생각에는 Visual Studio 내장 코드 분석기가 false positive 오류를 보이는 것 같습니다. 무시하셔도 됩니다.

(배열 adj의 크기는 V+1이고 접근하는 최대 인덱스는 V이므로 문제가 없습니다.)

다만 한 가지 걸리는 점이 있다면, 기능상의 문제는 없지만, 9번 줄의 int i와 13/18번 줄의 int i의 이름을 가급적 다르게 하는 것이 좋습니다.

댓글을 작성하려면 로그인해야 합니다.