728x90
아래와 같이 코드를 작성하면
다른 enum의 변수값인데도 같은 변수명이라는 이유로
컴파일에서 에러를 발생시킨다
#include <stdio.h>
enum Index
{
_111,
_222,
_333,
_444,
MAX
};
enum Index1
{
_111,
_222,
_333,
_444,
MAX
};
int main(int argc, char **argv)
{
return 0;
}
이런 에러를 우회하는 방법으로는 namespace를 쓰는 방법이 있다
#include <stdio.h>
namespace Type_A
{
enum Index
{
_111,
_222,
_333,
_444,
MAX
};
}
namespace Type_B
{
enum Index
{
_111,
_222,
_333,
_444,
MAX
};
}
int main(int argc, char **argv)
{
int idx = Type_A::Index._111;
return 0;
}
위와 같은 방식으로 namespace로 해당 enum의 값을 감싸고
사용 시 namespace::enum.변수 방식으로 쓰면 된다
728x90
반응형
'Application > C++' 카테고리의 다른 글
[C++] 숫자 쉼표(금액) 표시 하기 (Comma) (0) | 2023.11.08 |
---|---|
[C++] 2중 포인터 동적 할당 (0) | 2023.03.16 |
[C++] 정렬 되는 연결 리스트(링크드 리스트) 만들기 (0) | 2022.12.15 |