0
Intellisense에서 열거 형 값을 기반으로 문자열 상수를 계산할 수 있습니까?Intellisense의 enum에서 문자열 상수 계산
는 여기에 내가 무엇을 시도했다입니다 : MessageIdRange가 열거하고 xMessageStart/끝 열거 값입니다입니다
#define MessageIdToName(ID) \
(::MessageIdRange::LocalMessageStart <= ID && ID <= ::MessageIdRange::LocalMessageEnd) ? \
("Local Message") : \
(::MessageIdRange::CANMessageStart <= ID && ID <= ::MessageIdRange::CANMessageEnd) ? \
("CANMessage") : \
(::MessageIdRange::GlobalMessageStart <= ID && ID <= ::MessageIdRange::GlobalMessageEnd) ? \
("Global Message") : \
("Unknown")
namespace
{
static const char* MessageIdToNameFn(const uint32_t ID)
{
return
(::MessageIdRange::LocalMessageStart <= ID && ID <= ::MessageIdRange::LocalMessageEnd) ?
("Local Message") :
(::MessageIdRange::CANMessageStart <= ID && ID <= ::MessageIdRange::CANMessageEnd) ?
("CANMessage") :
(::MessageIdRange::GlobalMessageStart <= ID && ID <= ::MessageIdRange::GlobalMessageEnd) ?
("Global Message") :
("Unknown");
}
static const char* found = MessageIdToName(1025);
static const char* foundFn = MessageIdToNameFn(1025);
}
.
Intellisense에서 found 및/또는 foundFn이 무엇인지 알려주 리라 기대합니다.
감사합니다. 이상하게 보입니다. []를 사용해야하지만 여기에서 작동합니다. – kjhf
흥미롭게도 컴파일되지 않습니다. '오류 C2440 :'초기화 ':'const char * '에서'const char [] '로 변환 할 수 없습니다. 매우 간단한'const char found [] = (true? "A": "B"); – kjhf