반응형
숫자 배열을 Define으로 선언하여 사용하기 위함
가변 인자를 이용해서 구조체 생성자를 통해 내가 사용할 배열을 선언한다.
큰 숫자범위를 사용하지 않으므로 WORD Array를 적용하기로 함.
다양한 자료형에서 적용가능하다 define 하여 배열 선언 후 사용할 수 있음(CHAR, WORD, UINT 등)
가변인자인 만큼 숫자의 끝을 알기 쉽게 0으로 표기하였음.
while 조건문에서 0을 만나면 배열의 끝을 알 수 있다.
때문에 선언할 숫자에 0이 없을때 사용가능한 코드
끝에 0을 써주는 것 매우 중요한데 이건
굳이 0이 아니여도 끝이란걸 알게끔 while 조건문 수정하면됨.
typedef struct _WORD_ARRAY :public CWordArray
{
_WORD_ARRAY(WORD _nNum, ...)
{
va_list vl;
va_start(vl, _nNum);
while(_nNum)
{
Add(_nNum);
_nNum = va_arg(vl, WORD);
}
va_end(vl);
}
}WORD_ARRAY;
#define DefaultNo _WORD_ARRAY(4320, 1440, 480, 160, 80, 20, 0)
더보기
// DefaultNo[0] = 4320
// DefaultNo[5] = 20
728x90
반응형
'개발아닌개발 > C,C++' 카테고리의 다른 글
[MFC] shapefile(shapeLib-1.5.0) c++ 오픈소스 라이브러리 컴파일하기 (0) | 2022.05.13 |
---|---|
[MFC] SDI 메뉴 모음(m_wndMenuBar) 없애기 (0) | 2022.04.29 |
[오류] MFC - warning C4183: 'GetDocument': 반환 형식이 없습니다. 'int'를 반환하는 멤버 함수로 간주됩니다. (0) | 2022.04.11 |
[오류] visual studio 2008 x64 빌드가 생략되었습니다. (0) | 2022.03.30 |
[오류] msvcrtd.lib(msvcr90d.dll)에 이미 정의되어 있습니다. (0) | 2022.02.28 |
댓글