가변 인수를 허용하는 NSLog()
처럼 작동하도록 매크로를 가져 오려고합니다. 아래의 코드는 구문 분석 문제를 일으 킵니다.__VA_ARGS__ 매크로 확장
이것을 정의하는 올바른 방법은 무엇입니까?
#define TF_CHECKPOINT(f, ...) \
do { \
NSString *s = [[NSString alloc] initWithFormat:f arguments:__VA_ARGS__] autorelease]; \
[TestFlight passCheckpoint:[NSString stringWithFormat:@"%@: %@", [self class], s]]; \
} while (0)
나는'__VA_ARGS__' 이미 매크로 변수 인수를 나타 내기 때문에 당신이'NSLog를 사용 하듯이 다음과 같은 매크로를 사용할 수 있도록, _variable arguments_을 의미하는 방법을 잘 모르겠어요 (...)'보통 :'# AnotherLog (...) NSLog (__ VA_ARGS __)'를 정의하면 소스 코드에서 유효한 행이됩니다 :'AnotherLog (@ "% d, % @", 1 , @ "text"); 최종 목표는 정확히 무엇입니까? – holex