저는 C++의 새 생명입니다. 제 Kinect V2와 libfreenect2로 속일 수있었습니다. 도서관 건물은 저에게 잘 돌아갔습니다. 하지만 코드에서 사용하려고하면 이상한 예외가 생깁니다. 나는이 코드를 실행읽기/쓰기 액세스 위반 libfreenect2를 사용하는 C++
Freenect2 freenect2;
std::string serial="";
Freenect2Device *dev = 0;
freenect2.enumerateDevices();
serial = freenect2.getDefaultDeviceSerialNumber();
dev = freenect2.openDevice(serial);
매번, 그것은 일련 번호 얻기에 실패 [시리얼 = freenect2.getDefaultDeviceSerialNumber를()]로 :.
이"던져 처리되지 않은 예외 : 액세스 위반 읽기
_Pnext 0xFFFFFFFFFFFFFFFF였습니다. " 0x000000018026D0C2 던져
" 예외 : 새 프레임 예외가 발생 다음에 [listener.waitForNewFrame (프레임)]를 기다리는 동안 경우에는 내가 대신
Freenect2 freenect2;
Freenect2Device *dev = 0;
SyncMultiFrameListener listener(Frame::Color);
FrameMap frames;
freenect2.enumerateDevices();
dev = freenect2.openDefaultDevice();
dev->setColorFrameListener(&listener);
dev->start();
listener.waitForNewFrame(frames)
을 사용하고
, 그것은 실패 (ig75icd64.dll) ConsoleApplication1.exe : 0xC0000005 : 0x000000002BA0D700 위치 쓰기 액세스 위반 "
그래서 내가 뭘 잘못하고 어떻게 더 잘할 수 있습니까?
귀하의 조언에 감사드립니다.
편집 : 코드 ... 내가 디버그 모드에서 동일한 문제에 직면했다
이러한 문제를 해결하는 올바른 도구는 당신입니다 디버거. 스택 오버플로를 묻기 전에 코드를 단계별로 실행해야합니다. 자세한 도움말은 [작은 프로그램 디버깅 방법 (Eric Lippert 작성)] (https://ericlippert.com/2014/03/05/how-to-debug-small-programs/)을 참조하십시오. 문제를 재현하는 [최소, 완료 및 확인 가능] (http://stackoverflow.com/help/mcve) 예제와 함께 해당 질문을 \ [편집]해야합니다. 디버거. –
'0xC0000005'는 초기화되지 않은 포인터에 대한 힌트가 역 참조되었습니다. –
글쎄, 나는 프로그래밍에 익숙하지 않다. 나는 디버거를 사용하는 방법을 안다. 그리고 네, 포인터가 엉망이되었습니다. 하지만 그것은 내 코드에서 발생하지 않습니다. 포함 된 일부 파일에서 발생합니다. 그래서 여기에이 질문을하고 있습니다 ... – user3014569