makro między platformami do wyciszania ostrzeżeń o nieużywanych zmiennych

Przenosząc duży fragment kodu C ++ z Visual Studio (2008) do Xcode (4.4+), napotykam takie linie, jak:

UNUSED_ALWAYS(someVar);

UNUSED_ALWAYS(x) (przezUNUSED(x)) makro rozwija się dox który wydaje się uciszać Visual C ++ w porządku. Jednak to nie wystarczy dla Clanga.

Z Clangiem zwykle używam#pragma unused x dyrektywa.

TheUNUSED_ALWAYS iUNUSED makra są zdefiniowane w sztucznymwindows.h nagłówek, który kontroluję, który zawiera wiele narzędzi, które pomagają Xcode kompilować rzeczy Windows.

Czy istnieje sposób na zdefiniowanieUNUSED(x) rozszerzyć do#pragma unused x? Próbowałem tego, czego Clang nie akceptuje:

#define UNUSED(x) #pragma unused(x)

Próbowałem też:

#define UNUSED(x) (void)(x)

Który wydaje się działać. Czy coś przegapiłem?

questionAnswers(3)

yourAnswerToTheQuestion