개발자

cpp 에서 enum class 복사가 가능한가요 ?

2월 13일조회 40

안녕하세요 ! 질문 제목이 좀 명확하지 않아서 죄송합니다 ㅠㅠ 다름이 아니라 새로운 enum class 를 구현할 때 이미 구현된 타 enum class를 그대로 가져올 수 있는지 궁금합니다 ! 예를 들어 아래 코드와 같이 (당연히 error 발생하는 코드인 것은 알고 있지만.. 제가 궁금한 부분을 설명 드리기 위해...) enum class ONE { AA, BB }; enum class TWO = ONE; // error.. TWO 라는 enum class 를 새로 구현할 때 이미 구현된 ONE enum class 를 그대로 복사해오도록 구현하는 방법이 궁금합니다 ! 그냥 ONE enum class 사용하면 될 것이지 굳이 새로운 TWO enum class를 생성할 필요가 있나 ~ 라고 당연히 생각하시겠지만... 현재 저의 상황을 설명드리긴 좀 기네요 ㅠㅠ Qt/qml 구조도 설명드려야 되고... 몇시간 째 구글링을 해봐도 답을 못찾겠네요 ㅠㅠ 답변 주시면 무척 감사하겠습니다 !

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 0

답변이 없을 때 보이는 아이콘

첫 답변을 기다리고 있어요.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2월 13일

안녕하세요. 이런 기능은 C++ 표준에 직접적으로 포함되어 있지 않습니다. 한 enum class에서 다른 enum class로 복사 또는 상속을 지원하지 않습니다. 때때로 이와 같은 요구 사항이 있으면, 일반적으로 설계와 구조에 대해 다시 생각해 볼 필요가 있습니다. 즉, 동일한 값을 공유하는 두 개의 분리된 열거형이 있다면, 그것들은 실제로 하나의 열거형이어야 할 가능성이 높습니다. 그러나 일부 workaround가 있습니다. 예를 들어, macro를 활용하여 동일한 값들을 여러 번 정의할 수 있는 방법입니다. ```c++ #define ENUM_VALUES \ AA, \ BB enum class ONE { ENUM_VALUES }; enum class TWO { ENUM_VALUES }; #undef ENUM_VALUES ``` 위의 코드는 서로 다른 두 enum 클래스 ONE과 TWO 모두에 AA와 BB라는 동일한 항목을 가집니다. 그러나 이 해결책은 매크로를 사용하기 때문에 약간 복잡할 수 있으며, 일반적으로 매크로 사용은 최소화 하는 것이 좋습니다(특히 큰 프로그램에서).

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!