°£´ÜÇÑ c¾ð¾î Áú¹®µå¸³´Ï´Ù.

mt22   
   Á¶È¸ 3750   Ãßõ 0    

case문 안에 변수를 넣고싶은데 상수를 넣어야된다며 오류가 뜨네요;;

define을 통해서 

#define nMsg RegisterWindowMessage(TEXT("SoriMessage"))

이런식으로 해서 넣어도 안되는 것 같고요..


switch case문 분기를 동적으로? 지정할 수는 없는건가요?

RegisterWindowMessage(TEXT("SoriMessage")); 함수를 통해서 받아오는 값은 변하지 않는 상수입니다.


UINT nMsg = RegisterWindowMessage(TEXT("SoriMessage"));
LRESULT CALLBACK WndProc(HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam) {
switch (iMessage) {
    case WM_CREATE:
return 0;
    case nMsg: <- 여기서 오류가 발생합니다.
return 0;
    case WM_PAINT:
return 0;
    case WM_DESTROY:
return 0;
}
return(DefWindowProc(hWnd, iMessage, wParam, lParam));
}
ªÀº±Û Àϼö·Ï ½ÅÁßÇÏ°Ô.
case »ó¼ö°ª¸¸ °¡´ÉÇÕ´Ï´Ù.
     
±èµ¿±Ô1 2018-02
±×·¸´Ù¸é Àú »óȲÀ» ¾î¶»°Ô ÇØ°áÇÒ ¼ö ÀÖÀ»±î¿ä?
º¯¼ö´Â switch( ) ÀÇ °ýÈ£¾È¿¡ ¿Í¾ß µÇ´Â °Å°í, case ¿¡´Â »ó¼ö°¡ ¿Í¾ß ÇÕ´Ï´Ù.
switch¿¡µµ º¯¼ö, case ¿¡µµ º¯¼ö¶ó¸é ºñ±³ÇØ¾ßµÉ °ªÀÌ ¾ø¾îÁ®¹ö¸®´Â ³í¸®Àû ¸ð¼øÀÌ µÇ´Â°Ì´Ï´Ù.
Ä®¸® 2018-02
switch(expr) ¿¡¼­ exprÀº Á¤¼ö ÇüÅÂ(À̰ųª Á¤¼ö·Î º¯È¯ °¡´É)¿©¾ß Çϸç
case expr: ¿¡¼­ exprÀº Á¤¼ö °è¿­ÀÇ »ó¼ö ¿©¾ß ÇÕ´Ï´Ù. ¹®ÀÚ¿­µµ ¾ÊµË´Ï´Ù. (case "Message": °°Àº Çüŵµ ¾ÊµË´Ï´Ù)

#define WM_CREATE (0x0000XXXX) <- ¿©±â¼­ Áß¿äÇÑ°ÍÀº defineÀÌ ¾Æ´Ñ  (0x0000XXXX) °¡ Á¤¼öÇü »ó¼ö ¶ó´Â °ÍÀÔ´Ï´Ù.

¾Æ·¡¿Í °°ÀÌ ÇÏ¼Å¾ß ÇÕ´Ï´Ù.
    ....
if (nMsg == iMessage) {
    ....
}

switch (iMessage) {
    case WM_CREATE:
    ....
     
±èµ¿±Ô1 2018-02
´äº¯ °¨»çÇÕ´Ï´Ù.
ĵÀ§µå 2018-02
±×³É default¿¡ if ³ÖÀ¸¼¼¿ä
     
ĵÀ§µå 2018-02
¾Æ À­ºÐµµ ºñ½ÁÇÑ ´äº¯À» Á̴ּµ¥
¹ß»ýºóµµ¿¡ µû¶ó È¿À²¼ºÀÌ ´Þ¶óÁö´Âµ¥
°æ¿ì°¡ ºñ½ÁÇÒ °æ¿ì¿Í ºÐ±â ·ÎÁ÷ÀÇ Æ²À» °¡´ÉÇϸé À¯ÁöÇÏ´Â Â÷¿ø¿¡¼­ default ¸»¾¸µå¸° °ÍÀÌÁö¸¸
¿äÁò hw¼º´ÉÀÌ ÁÁ¾Æ¼­ º° Â÷ÀÌ ¾øÀ¸´Ï
°¡µ¶¼ºÀÌ ´õ ÁÁÀº À­ºÐ ¹æ½ÄÀÌ ³ªÀº °Í °°½À´Ï´Ù
drachen 2018-02
º¯¼ö³¢¸® ºñ±³ÇϽ÷Á¸é if ~ else  if ¹®À» ¾²¼Å¾ß ÇÕ´Ï´Ù.
¾ð¾î³ª ÄÄÆÄÀÏ·¯¿¡ µû¶ó¼­ Â÷ÀÌ°¡ ÀÖ±â´Â ÇÏÁö¸¸, ÀϹÝÀûÀ¸·Î switch case¹®ÀÇ °æ¿ì¿¡´Â ¹Ì¸® °¢ Á¶°ÇÀÇ Á¤¼ö·Î Á¡ÇÎ Å×À̺íÀ» ¸¸µé¾î¼­ ±¸ÇöÇϱ⠶§¹®¿¡, º¯¼ö·Î´Â »ç¿ëÇÒ ¼ö °¡ ¾ø½À´Ï´Ù.

http://blog.naver.com/PostView.nhn?blogId=kki2406&logNo=80041410085
ÀÌ ºí·Î±×¸¦ º¸½Ã¸é if¿Í swichÀÇ ±¸Çö Â÷À̸¦ ¾Æ½Ç ¼ö ÀÖÀ» °Ì´Ï´Ù.


QnA
Á¦¸ñPage 4098/5687
2014-05   4994218   Á¤ÀºÁØ1
2015-12   1530154   ¹é¸Þ°¡
2018-01   3751   ´ÃÆĶõ
2016-03   3750   ¼º¹Î¹Ú
2019-01   3750   ¾ß±¸°¨µ¶
2014-05   3750   ¶óÀÌÁ¨
2015-03   3750   jore
2014-07   3750   ¿À¸ðÀ̵¥
2020-08   3750   ¶ó¿ÂÁ¦³ª
2018-08   3750   ½ÅÀº¿Ö
2016-03   3750   ¹Ú¹Ú¼­¹æ
2014-10   3750   õ¿Üõoo³ë¡¦
2017-05   3750   ±è°Ç¿ì
2017-07   3750   ´ÃÆĶõ
2020-08   3750   ÀÌÈñÁÖ
2013-12   3750   ±è°Ç¿ì
2016-03   3750   ITES
2015-07   3750   Æ÷Æ÷º½
2020-07   3750   ÀüÁø
2022-03   3749   VSPress
2016-04   3749   ĸƾ¾Æ¸Þ¸®Ä«³ë
2015-11   3749   ±è°Ç¿ì