cross-Plattform-makro zum abschalten von ungenutzten Variablen Warnung

In der Portierung ein großes Stück C++ - code von Visual Studio (2008) zu Xcode (4.4+), begegne ich Zeilen wie:

UNUSED_ALWAYS(someVar);

den UNUSED_ALWAYS(x) (durch UNUSED(x)) - makro expandiert zu x scheint zu schweigen Visual C++ einfach nur gut. Es ist nicht genug für das Geräusch jedoch.

Mit Clang, ich verwende in der Regel die #pragma unused x Richtlinie.

Den UNUSED_ALWAYS und UNUSED Makros definiert sind, in eine künstliche windows.h - header, die ich Steuern, enthält eine Reihe von Dienstprogrammen, um zu helfen Xcode kompilieren Windows-Zeug.

Gibt es eine Möglichkeit zu definieren UNUSED(x) zu erweitern, um #pragma unused x? Ich habe versucht, die Clang nicht abnimmt:

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

Ich auch versucht:

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

Scheint zu funktionieren. Hab ich was verpasst?

  • Irgendeinen Grund, warum Sie nicht einfach loszuwerden, die nicht verwendete Variable? Können Sie weglassen der var-Namen in der Funktion argument-Liste in C++.
  • Ich kann nicht: die variable wird verwendet, wenn das kompilieren unter windows.
Schreibe einen Kommentar