2
저는 C++을 사용해 왔지만 잠깐 동안 매크로 경험은 거의 없었습니다. 이 주제에 대한 다른 질문을 읽었지만 문제를 해결할 수 없습니다.매크로 정의 매크로를 _Pragma 매크로로 정의하는 방법
내가 ENUM_PRAGMA(foo)
부호화하는 I가
#pragma enum(foo)
의 효과가 의도 _Pragma("enum(foo)")
를 생성하도록하는 매크로를 정의 할 (컴파일러 _Pragma("string")
을 지원한다.) 나
#define ENUM_PRAGMA(siz) \
_Pragma("enum(" #siz ")")
여러 변화를 시도했다
하지만 작동시킬 수는 없습니다.
는 How do I implement a macro that creates a quoted string for _Pragma?을 바탕으로 나는
#define HELPER1(x) enum(x)
#define HELPER2(y) HELPER1(#y)
#define ENUM_PRAGMA(siz) _Pragma(HELPER2(siz))
을 시도하지만 난 꽤 여전히입니다. (오류
string literal was expected but enum was found
그래서 난 내 HELPER2 문자열을 인용되지 않은 추측이다.
사람이 많이? 이것에 유머에게 감사를 나를 기쁘게 할 수 있습니다.