본문 바로가기

참조

#ifndef 란 무엇인가 / 사용하는 방법. 여러번 include 를 사용하여 참조함으로써 발생하는 중복된 정의 가 발생하지 않게 하기위한 방법. 사용하는 방법은 #ifndef _ABC_ #define _ABC_ 속에 넣을 코드 입력 #endif 이렇게 만들거나 #ifndef _ABC_ 속에 넣을 코드 입력 #endif 이렇게 하는 방법이 있다. 이러한 처리를 해두지 않고 다중으로 include를 하게되면 여러번 같은 변수나 함수가 선언되게 되어 에러가 나게된다. 반대로 해당 정의가 되어있을 경우[#define] 에 실행하도록 하는 것은 #ifndef(“If not define”)의 반대인 #ifdef 이다. 더보기
error LNK2001 : 구조체의 주소를 외부 파일에서도 참조할 시 뜨는 에러. 왜 발생하는가 -> extern struct_wpt* m_ptWptAll; 이런식으로 정해두고나서 쓰질 정의된 것이 없기때문에 참조를 하지 못하여 에러가 뜨는 것. 구글링을 해서 검색을 하면 무슨 라이브러리를 추가해야한다는둥 하는데 그냥 코딩을 잘못 한 것인 경우일 확률이 더 높다. 왜 저게 잘못되었냐.. 면 struct_wpt* m_ptWptAll; 라는 문장을 코딩하지 않아서 이다. 위에 extern struct_wpt* m_ptWptAll; 라고 코딩한 내용은 선언이지 정의가 아니다. 다시 말해서 위의 extern 문은 프로그램안에 이런 변수가 있다고 알려주는 역할 밖에는 하지 않는다. 변수의 영역을 잡아주지도 않았는데 어떻게 참조할 수가 있겠는가? 그런고로 .cpp 파일중 하나에서 struct_w.. 더보기