2010-07-27 2 views
1

다음은 내가 달성하려고 시도하는 예제입니다. 나는 매크로를 만들려고 해요, 그것은 다음과 같이 보일 것이다 :variadic 함수에 대한 objective-c 매크로

SOMEMACRO(obj, obj, obj, ..., obj); 

매크로를에 컴파일합니다 :

#define SOMEMACRO(x) some_function(x, SOMETHING_ELSE, SOMETHING_ELSE) 
: 여기
some_function(obj, obj, obj, ..., obj, SOMETHING_ELSE, SOMETHING_ELSE); 

는 1 개 매개 변수 기능에 대한 예제 매크로입니다

하지만 하나의 매개 변수 (x)로만 작동합니다.

그래서 기본적으로 같은 것을 필요로하지만 그렇게합니다. 변수의 수를 전달할 수 있습니다. 컴파일러가 (와) 사이에있는 모든 것을 가져 와서 간단히 X로 대체 한 것은 좋을 것입니다. 내가 문제에 대해 아주 명확한 지 확신 할 수 없지만, 당신이 이해하기를 바랍니다.

도움 주셔서 감사합니다.

답변

1
#define SOMEMACRO(...) some_func(__VA_ARGS__, SOMETHING_ELSE, SOMETHING_ELSE); 
내 자신의 질문에 대답하려면
1

미안하지만, 너무 일찍 검색을 포기했습니다.

가변 인자 함수의 매크로는 다음과 같습니다 :

#define MACRONAME(...) some_function(__VA_ARGS__, SOMETHING_ELSE, SOMETHING_ELSE) 
관련 문제