티스토리 뷰

VC++ 을 안한지 얼마 되었다고 완전 백지가 되었다.

지인의 부탁으로 VC++로 간단한 윈도우 프로그램을 짜던 중 또 무한삽질을 반복하고, 기억하고자 적어둔다.

MFC에서는 Collection 클래스라는 아주 강력한 자료구조를 제공한다.
CList, CArray, CMap 등 뿐 아니라, 템플릿 컬렉션까지 제공한다. 자바같은 경우에는 Jdk 1.5 타이거에서 Generics 라는 이름으로 등장한 자료구조인데, 뭐 쉽게 말하면 어떤 타입의 객체라도 무한정 담아둘 수 있다는 것이다.

기존에도 많이 사용했던 CTypedPtrList<>를 쓰고자 선언하고 AddTail()을 코딩했는데,
컴파일 에러가 무수히 떨어지는 것이 아닌가.

CTypedPtrList<CObList, CElement*>m_ElementList;

이 부분이 뭔가 문제가 되는 듯 했지만, 아는 사람은 다 아는 M$의 요상한 메시지 덕에 한참 헤맸다. 원인은 해당 컬렉션에 담으려고 하는 CElement 클래스가 CObject 에서 derived 되지 않았기 때문에 발생한 문제였다.

그리고 또 한가지 더..
이건 오랫동안 VC++을 안 다뤄봐서 헤맨건데 컬렉션 클래스를 사용하기 위해서는
afxtempl.h 헤더파일을 추가해줘야 한다. 뭔가 추가해야 했던거 같긴한데 당췌 기억이 안나서 afxtemplate.h, afxtmpl.h, template.h 등 별별 걸 다 넣어 봤다는 -_-;;

깔끔하게 stdafx.h 파일에 다음과 같이 추가해주자.

#include <afxtempl.h>


다시 VC++ 하면서 * 와 & 의 차이점에 대해 기억해보려 많이 노력할 수 있었다는..
역시 코딩은 java 보다는 C++이 더 맛깔나는 듯 하다.
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함