如何在C ++中处理未使用的const变量

时间:2016-09-20 19:26:44

标签: c++

我使用g ++编译.c文件(在该文件中是用c ++编写的) enter image description here 然后,它说: enter image description here 我不认为我的文件是错误的,但文件看起来像是:

    #include <iostream>
    #include <fstream>    // File i/o.
    using namespace std;

    const short int VERTICES = 318;
    const short int n        = 318;
    const int       LARGE    = 10000.0;
    const int m        = n*(n-1)/2;

谁能告诉我如何解决这个问题?

4 个答案:

答案 0 :(得分:4)

如果变量未使用,则将其删除。

答案 1 :(得分:1)

我想你可以说:

__unused const int m = n*(n-1)/2;

禁止警告。

或许更正确:

const int m __attribute__ ((unused)) = n*(n-1)/2;

请参阅documentation

答案 2 :(得分:0)

注意: 为什么使用扩展名“.c”来表示C ++文件?使用'.cpp'

会更正确

现在 - 这是你的答案:

首先 - 它不是错误 - 它是错误和警告之间的巨大差异。任何警告都可以忽略 - 它与错误不一样。

看起来你没有在你的代码中使用常量(你只是声明它)。如果发生这种情况,G ++会告诉您可能要将其删除。

答案 3 :(得分:0)

这只是一个简单的警告,你可以自由地忽略它 - 它不是一个错误,所以你的代码编译得很好。如果您将-Werror传递给g++,则会将所有警告变为错误。

如果您有一天要在代码中使用此变量,请保留它或将其注释掉,直到您需要它为止。否则,您可以安全地删除它:编译器警告您的内容,它未被使用。

要消除此警告,您可以将-Wno-unused-variable传递给g++clang也可能接受此标志。

请注意此警告存在的原因有:它可以突出显示您没有看到的问题。例如,我偶然发现了this关于SO的问题。