相关疑难解决方法(0)

如何最好地消除有关未使用变量的警告?

我有一个跨平台应用程序,在我的一些函数中,并没有使用传递给函数的所有值.因此我收到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
{
Run Code Online (Sandbox Code Playgroud)

这太丑了,但似乎是编译器喜欢的方式.

或者我在函数末尾为变量赋值为零?(我讨厌它,因为它改变了程序流程中的某些东西以使编译器警告静音).

有正确的方法吗?

c++ gcc warnings gcc-warning

212
推荐指数
13
解决办法
17万
查看次数

如何在C中抑制"未使用的参数"警告?

例如:

Bool NullFunc(const struct timespec *when, const char *who)
{
   return TRUE;
}
Run Code Online (Sandbox Code Playgroud)

在C++中,我能够对/*...*/参数进行评论.但当然不是在C中,它给了我错误error: parameter name omitted.

c gcc gcc-warning

195
推荐指数
10
解决办法
15万
查看次数

GCC中的断言和未使用的局部变量警告不能很好地混合?

我在GCC中遇到了未使用的局部变量警告问题.

通常我的代码看起来像这样:

bool success = foo();
assert(success);
Run Code Online (Sandbox Code Playgroud)

这适用于调试版本.然而,在发布中,断言编译为空,GCC给了我一个警告.

解决这个问题的最佳方法是什么?bool success =用#ifdef 包装似乎不是一个很好的解决方案......

c c++ gcc g++

10
推荐指数
3
解决办法
3504
查看次数

标签 统计

gcc ×3

c ×2

c++ ×2

gcc-warning ×2

g++ ×1

warnings ×1