저는 서로 가장 가까운 두 점과 그 사이의 거리를 찾는 분할 및 정복 알고리즘을 구현하고 있습니다. 최종 해결책은 (무차별 대항력과 비교하여) 정확한 답을 찾지 만, 시간의 약 1/3은 세분화 오류 오류를 반환합니다. 나는 며칠 동안이 문제를 해결하기 위해 일해 왔으며, 여기저기서 인쇄 문을 추가했지만 문제를 찾을 수 없었다. 누군가 내 코드를 살펴 본다면 고맙겠습니다.재귀 함수가 때때로 세분화 오류를 반환합니다.
답변
"나누기"루프는 X
과 Y
이 같은 수의 요소를 사용한다고 가정합니다. Y
의 숫자가 X
미만인 경우 정의되지 않은 동작이 발생하여 재미없는 결과 또는 충돌이 발생할 수 있습니다.
을 제안 할 수 있습니다. 대체 될 몇 줄, 주석 처리 된 교체 (왜 필요한지) –
의미가 있습니다. 루프를 두 개로 나눠 보았습니다 : 하나는'Y' (조건)'i
벡터에 대한 액세스 방법을 변경해보십시오. Vector subscript-operator는 일부 컴파일러/플랫폼에서 에라틱 한 동작을하는 것처럼 보입니다 (적어도 내 관점에서는). 나는이 문제가 링크리스트가되어 메모리에서 연속적이지 않은 결과를 얻는다 고 생각하지만, 그것은 단지 추측이다. (편집 : 표준 : : 벡터 메모리에 인접, 문제는 뭔가 다른 것입니다) 등, (쉬운 peasy auto
키워드) 대신에 반복자를 사용해보십시오 :이 사건에 대한 작동
for (auto iter = Yprime.begin(); iter != Yprime.end(); iter++) {
// Your code here
}
희망을!
방금 내 게시물을 편집 한 후 귀하의 코멘트를 보았습니다. 미안합니다. 하지만, 나는 명시 적으로 ** 말했다. "하지만 그것은 단지 추측입니다. ** **. 그래서 나는 틀린 말을하는 것이 틀 렸습니다. LLVM에서 첨자 연산자를 사용하여 세분화 오류가 발생했습니다. – Cedric
제안 해 주셔서 감사합니다. 이런 식으로 내 코드를 다시 구현하는 데는 시간이 걸렸습니다. 그럼에도 불구하고 여전히 같은 오류가 발생했습니다 ... – Novice
죄송합니다 ... 한 번 비슷한 문제가 있었지만 문제가 해결되었습니다 ... 그렇지 않으면 내가 본 유일한 또 다른 사실은 'abs (Y [i ] .x - mid.x)
- 1. 재귀 함수가 빈 배열을 반환합니다.
- 2. 재귀 후 함수가 없음을 반환합니다.
- 3. 때때로 반복기를 사용하는 세분화 오류
- 4. 재귀 함수가 예기치 않은 결과를 반환합니다.
- 5. document.getElementById가 때때로 null을 반환합니다.
- 6. 재귀 함수가 "범위를 벗어남"오류를 발생시키지 않도록합니다.
- 7. 코드가 세분화 오류를 발생시킵니다.
- 8. c 시스템() 함수가 세분화 오류를 일으킬 수 있음
- 9. SQL Convert 함수가 241 오류를 반환합니다.
- 10. Yii findByAttributes 재정의 된 함수가 오류를 반환합니다.
- 11. 함수가 정의되지 않은 오프셋 오류를 반환합니다.
- 12. RemoteViews addView 함수가 AppWidget에서 오류를 반환합니다.
- 13. excel offset 함수가 값 오류를 반환합니다.
- 14. 에이전트 집합 입력 함수가 목록 오류를 반환합니다.
- 15. python 함수가 2.7.8 버전에서 오류를 반환합니다.
- 16. spl autoload 함수가 서버에서 오류를 반환합니다.
- 17. Angular Firebase $ createUser 함수가 오류를 반환합니다.
- 18. Jquery에서 Ajax 함수가 400 오류를 반환합니다.
- 19. svmlib android의 svm_train 함수가 오류를 반환합니다.
- 20. User.Identity.IsAuthenticated는 때때로 false를 반환합니다.
- 21. 때때로 curl_multi_exec가 공백을 반환합니다.
- 22. 세분화 오류를 일으키는 "fread"함수
- 23. C++ 프로그램이 세분화 오류를 가져옵니다
- 24. PHP 코드가 세분화 오류를 생성합니다.
- 25. 때때로 오류를 일으키는 테스트
- 26. INDIRECT 함수가 #REF를 반환합니다.
- 27. javascript 함수가 때때로 onchange에 실패합니다
- 28. R cor는 때때로 NaN을 반환합니다.
- 29. addObjectsFromArray가 오류를 반환합니다.
- 30. itemSummary.getItemData()가 때때로 null을 반환합니다.
디버거에서 세그먼트 화 오류는 어디에 있습니까? – Cedric
매번 동일한 입력 데이터 또는 다른 데이터 사용? 함수가 재귀적일 경우 스택 공간이 부족할 수 있습니다. 스택을 증가 시키면 프로그램이 충돌하는 데이터가 다시 실행됩니다. – iksemyonov
@Cedric은 디버거를 시험해 보았는데 'for (j = i + 1; j
Novice