2017-12-21 2 views
-10

이 코드를 MAKE var=NUMBER: 21과 같이 쓰고 싶습니다.이 코드는 auto var=21;으로 번역 할 수 있습니다.C++ 전 처리기 세미콜론

다음 매크로를 정의했습니다 : #define MAKE auto#define NUMBER (1==0)?,하지만 제대로 작동하지 않았습니다.

간단히 말하면 정의 끝에 자동으로 세미콜론을 추가하고 싶습니다.

감사합니다.

+16

:

MAKE var=NUMBER(21) 

대신

MAKE var=NUMBER: 21 

의와 같은 번호를 정의 : 당신은 당신이 약간 구문을 변경하는 경우 있음을 달성 할 수 있지만? – StoryTeller

+2

언어와 싸우지 말고 받아 들여 결함을 포용하십시오. 그렇지 않으면 모든 것을 더 악화시킬 것입니다. – Ivan

+0

@Ivan Stephen Bourne은 Bourne Shell을 작성할 때 C를 Algol처럼 보이게 만드는 매크로를 사용했습니다. :) – Barmar

답변

2

C++ 매크로 구문에서는 달성 할 수 없습니다. 당신은 21 이전과 이후가 아닌 매크로 만 가지고 있습니다. 당신이 당신의 자신의 구문을 발명하는 이유

#define NUMBER(x) (x); 
+0

모든 answers.Actually 주셔서 감사합니다 및 해당 특정 구문에 대한 이유가 thats 같은 로고 버전을 만들려고합니다. –