이 에러 -_-;; reduce to an integer constant
글쓴이: jinushun / 작성시간: 월, 2003/08/11 - 4:38오후
에러명 : case label does not reduce to an integer constant
에러 위치
void analysis_si2cmfc(U8 *p_imsg_data) { switch(*(p_imsg_data + OFF_FUNCTIONX)) { case GET_AT_IDX('E'):
case 부분에서 에러가 뜹니다.
C 에서는 case 에 인티저값만 된다는 걸 알고있습니다. C++ 은 다른것도 된다는 말을 본거 같기는 한데..
아무튼 나머지 코드는 아래와 같습니다.
int htAlarmtype[7] = {-1,-1,3/*O*/,-1,4/*C*/,2/*R*/,1/*E*/}; #define GET_AT_IDX(x) (htAlarmtype[x%7])
와 같습니다.
U8 은 unsigned char 이구요..
음 제가 봐서는 안될 이유가 전혀 없는데.
왜 저 에러가 계속 뜨는것이죠 -_-;;
Forums:
switch() ... case 문에서 case절에 오는 값은 변하지 않
switch() ... case 문에서 case절에 오는 값은 변하지 않는 상수여야 합니다.
근데...
예측을 할 수 없는 define 문이 오게 되니 당연히 이런 에러가 나는겁니다.
그러니...
여기엔 constant value만을 사용해야 합니다.
'E' 뭐 이런식의 값...
<어떠한 역경에도 굴하지 않는 '하양 지훈'>
#include <com.h> <C2H5OH.h> <woman.h>
do { if (com) hacking(); if (money) drinking(); if (women) loving(); } while (1);
[quote]근데... 예측을 할 수 없는 define 문이 오게 되
답변 감사드립니다.
근데왜 define 가 예측을 못하는거죠?
값을 찍어보면 잘 나오는데.
값을 예측못한다는것이 저는 좀 이해가 안되는데요.
한번만더 조언을 부탁드립니다.^^
----------------------------
www.nate.com
----------------------------
앗..!!죄송합니다.컴파일 단계에서는 당연히 인식을 못하는
앗..!!
죄송합니다.
컴파일 단계에서는 당연히 인식을 못하는군요 생각해보니.
-_-;;
답변 감사드립니다.!!
----------------------------
www.nate.com
----------------------------
댓글 달기