Develop/C++ 썸네일형 리스트형 [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: ~~~ 더보기 implicit declaration of function 'scanf_s' is invalid in C99 오류 해당 오류는 VSCode에서 scanf_s 함수를 사용했을 때 발생한다. scanf_s는 기존 scanf 함수에 비해 보안이 강화된 함수로 Visual Studio에만 내장되어 있는 함수이다. 따라서 사용하기 위해선 해당 헤더를 따로 추가해주어야 한다. 나는 프로젝트를 진행하는 것이 아니고, 백준을 푸는데 사용하기 때문에 scanf 함수를 사용했다. 더보기 이전 1 다음