본문 바로가기

C++

#ifndef 란 무엇인가 / 사용하는 방법. 여러번 include 를 사용하여 참조함으로써 발생하는 중복된 정의 가 발생하지 않게 하기위한 방법. 사용하는 방법은 #ifndef _ABC_ #define _ABC_ 속에 넣을 코드 입력 #endif 이렇게 만들거나 #ifndef _ABC_ 속에 넣을 코드 입력 #endif 이렇게 하는 방법이 있다. 이러한 처리를 해두지 않고 다중으로 include를 하게되면 여러번 같은 변수나 함수가 선언되게 되어 에러가 나게된다. 반대로 해당 정의가 되어있을 경우[#define] 에 실행하도록 하는 것은 #ifndef(“If not define”)의 반대인 #ifdef 이다. 더보기
error LNK2019 에러의 경우 error LNK2019 에러의 경우 막 이 에러가 왜 나는가 해결법은 무엇인가 하는 글들이 많다. 하지만 실제로 그 행동을 해서 에러가 해결되지 않는 경우가 많다. 에러를 자세히 보면 왜 그런 에러가 나는지 알 수 있는데. 일단 에러를 보자. 오류1error LNK2019: "public: int __cdecl CMark::LoadMark(void)" (?LoadMark@CMark@@QAAHXZ) 외부 기호(참조 위치: "public: int __cdecl CMark::Init(void)" (?Init@CMark@@QAAHXZ) 함수)에서 확인하지 못했습니다.Mark.objE9 (E9\Program Main\E9) 이 경우 무엇이 문제일까? init 멤버함수 에서 사용되는 LoadMark 멤버함수가 정.. 더보기
오늘의 공부 단일체(Singleton) 싱글턴[싱글톤] 싱글톤[싱글턴] 의도 : 오직 한 개의 클래스 인스턴스만을 갖도록 보장하고 이에 대한 전역적인 접근점을 제공. 활용성 : 클래스의 인스턴스가 오직 하나여야 함을 보장하고, 잘 정의된 접근접 으로 모든 사용자가 접근할 수 있도록 해야 할 때, 유일한 인스턴스가 서브 클래싱으로 확장되어야 하며, 사용자는 코드의 수정 없이 확장된 서브클래스의 인스턴스를 사용할 수 있어야 할 때. 결과 : 1. 유일하게 존재하는 인스턴스로의 접근을 통제 2. 이름 공간을 좁힘. 3. 연산 및 표현의 정제를 허용. 4. 인스턴스의 개수를 변경하기가 자유로움. 5. 클래스 연산을 사용하는 것보다 훨씬 유연한 방법임. 본인이 이해한 방법 : 다른 코드를 본다 -> 대체 무슨 용돈지 존나 열심히 본다 -> 알아낸다. 참 쉽죠. 솔까말.. 더보기
티스토리 내에 C++등 프로그램 언어 입력하기 테스트 및 방법 if( file.Open( strValue, CFile::modeRead ) == FALSE )//정상적으로 로드가 안되면. { if(ENGL == 1 && KORL ==0) { AfxMessageBox(_T("This path is wrong path.")); } else if(ENGL == 0 && KORL ==1) { AfxMessageBox(_T("정상적인 경로가 아닙니다.")); } 다른 티스토리 블로그들에도 많길래 검색해서 추가해 넣어보았다. 추가하는 방법은.. 아래의 업로드한 나 http://code.google.com/p/syntaxhighlighter/ 로 직접 가서 SyntaxHighlighter를 다운받는다. 파일의 압축을 풀고 티스토리의 관리자 -> HTML/CSS 편집 로 간다. .. 더보기
error LNK2001 : 구조체의 주소를 외부 파일에서도 참조할 시 뜨는 에러. 왜 발생하는가 -> extern struct_wpt* m_ptWptAll; 이런식으로 정해두고나서 쓰질 정의된 것이 없기때문에 참조를 하지 못하여 에러가 뜨는 것. 구글링을 해서 검색을 하면 무슨 라이브러리를 추가해야한다는둥 하는데 그냥 코딩을 잘못 한 것인 경우일 확률이 더 높다. 왜 저게 잘못되었냐.. 면 struct_wpt* m_ptWptAll; 라는 문장을 코딩하지 않아서 이다. 위에 extern struct_wpt* m_ptWptAll; 라고 코딩한 내용은 선언이지 정의가 아니다. 다시 말해서 위의 extern 문은 프로그램안에 이런 변수가 있다고 알려주는 역할 밖에는 하지 않는다. 변수의 영역을 잡아주지도 않았는데 어떻게 참조할 수가 있겠는가? 그런고로 .cpp 파일중 하나에서 struct_w.. 더보기