我有一个跨平台应用程序,在一些函数中并没有使用传递给函数的所有值。因此,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
宏专门用于这个。在文档中查看它。 - Evan Teran