1
: "가변 인자의 제로 인수 매크로 및 쉼표", 나는 시도 :C++ 가변 인자 매크로를 컴파일 유래 질문을 다음과 같은 오류
#define MAKE_TEMPLATE(...) template <typename T, ## __VA_ARGS__ >
MAKE_TEMPLATE()
struct Testing{};
컴파일러가 제공 : 오류 : 예상 식별자 '>'토큰
전에그러나 g ++ -E MAIN.CPP (매크로 확장을 얻을 수 있습니다) 쇼 :
template <typename T >
struct Testing{};
함께 :
MAKE_TEMPLATE(typename U)
struct Testing{};
컴파일이 완료되었습니다. 무엇이 누락 되었습니까?
그러나 GCC 문서 : 변수 인수가 생략되거나 비어있는 경우 가 "는 '##'연산자 제거 전처리 원인 GCC는 다음 (비 휴대용) 확장을 지원 그 앞에 쉼표 " – Patric