enum타입 정의에 대해 여쭙니다


enum {RANDOM, IMMEDIATE, SEARCH} strategy;
strategy = IMMEDIATE;

C++에서는 이렇게 써도 됐는데 C에서는 에러가 떠요 너무 어렵네요 ㅜㅜ..어떻게 해야 될까요

에러 내용

error: conflicting types for ‘strategy’
error: previous declaration of ‘strategy’ was here
  • 2016년 02월 01일에 작성됨

조회수 244


1 답변


좋아요
0
싫어요
채택취소하기

C++에서는 그렇게 써도 되지만 C에서는 이렇게 써야 합니다.

typedef enum {RANDOM, IMMEDIATE, SEARCH} strategy;
strategy my_strategy = IMMEDIATE;

그리고 개인적으로는 type과 변수를 구분하는 게 더 관리하기 쉽기 때문에 아래와 같이 쓰는 걸 권하고 싶군요

typedef enum {RANDOM, IMMEDIATE, SEARCH} strategy_type;
strategy_type my_strategy = IMMEDIATE;
  • 2016년 02월 01일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close