我使用g ++编译.c文件(在该文件中是用c ++编写的) 然后,它说: 我不认为我的文件是错误的,但文件看起来像是:
#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;
谁能告诉我如何解决这个问题?
答案 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的问题。