クロスプラットフォームアプリケーションがあり、一部の関数では、関数に渡されるすべての値が使用されていません。したがって、未使用の変数があるというGCCからの警告が表示されます。
警告をコーディングする最良の方法は何ですか?
関数の周りの#ifdef?
#ifdef _MSC_VER
void ProcessOps::sendToExternalApp(QString sAppName, QString sImagePath, qreal qrLeft, qreal qrTop, qreal qrWidth, qreal qrHeight)
#else
void ProcessOps::sendToExternalApp(QString sAppName, QString sImagePath, qreal /*qrLeft*/, qreal /*qrTop*/, qreal /*qrWidth*/, qreal /*qrHeight*/)
#endif
{
これは醜いですが、コンパイラーが好む方法のようです。
または、関数の最後で変数にゼロを割り当てますか?(コンパイラの警告を消すためにプログラムフロー内の何かを変更しているため、これは嫌いです)。
正しい方法はありますか?
Q_UNUSED
このためのマクロがあることを知っておく必要があります。ドキュメントで確認してください。