2011-11-21 2 views
1

이 조각을 고려 준다.두 개의 동일한 처리기 정의는 다른 결과가

 
CAT(x, y)(); 
xy; 

이유 : 그러나, GCC 4.6.1의 cpp이로 확장?

+1

이 늙은 밤. 출처를 밝히면서 적어도 원저자의 도움없이 표절하지 마십시오. (대답 : 하나의 매크로는 인수를 취합니다 (숫자가 0입니다). 다른 매크로는 인수를 취하지 않습니다. –

+0

@KerrekSB, 솔직히 차이점을 알지 못했습니다. – ulidtko

답변

5
#define M_0 CAT(x, y) 
#define N_0() CAT(x, y) 

M_0은 간단한 텍스트 대체품입니다. N_0은 평가 될 때 필요한 다른 매크로 함수를 평가하는 매크로 함수입니다.

+0

글쎄, 나는 이런 종류의 해결책을 기대했다. 고맙습니다. – ulidtko

관련 문제