본문 바로가기

[Info] 주소가 NULL로 초기화 되지 않고 0xcdcdcdcd로 초기화 됨 이유: 동적으로 할당된 메모리의 경우 0xcdcdcdcd로 초기화 됨. 문제 되는 상황: 변수의 주소 값이 NULL (0x00000000)인 경우에 예외처리를 하도록 하면 0xcdcdcdcd로 초기화 된 변수의 경우 적용안됨. 보통 Pointer 변수를 선언하고 사용하기 전 if문으로 가드를 합니다. 하지만 많이 하는 실수 중 하나는 if문의 조건을 NULL인 경우만 건다는 점입니다. 동적으로 할당된 메모리의 주소를 가리키는 포인터 변수는 0xcdcdcdcd로 초기화 됩니다. 따라서 다음과 같은 두 가지의 방법으로 거를 수 있습니다. 방법 1: //Example.h #include class Example() { public: Example() {} private: QPlainTextEdit* m_mem.. 더보기
[error] error C2360: initialization of 'variable' is skipped by 'case' label. Error Msg: error C2360: initialization of 'variable' is skipped by 'case' label. Error Causes: Switch-Case 문에서 지역 변수를 할당하려 하지만 스택 영역을 잡을 때 크기를 알 수 없기 때문에 발생. Error Solutions: Switch-Case 문에서 지역 변수 선언 및 초기화 시 중괄호("{}")로 코드를 묶어야 함. Example) switch(data) { case 1: { int return_data = 100; } break; default: ~~~ 더보기
[Pycharm] CreateProess error=2, 지정된 파일을 찾을 수 없습니다. 발생된 오류: 해결 방법: main.py 가 있는 폴더에서 .idea\workspace.xml를 텍스트 편집기로 엽니다. 하단의 이미지 처럼 SDK_HOME 으로 되어있는 부분의 내부 값을 현재 자신이 사용할 파이썬 경로로 변경합니다, 저는 VS Code로 진행했습니다. 이상입니다. 더보기