ISO C90 forbids mixing declarations and code [-Wdeclaration-after-statement]
这是因为在 C89/C90 中,你必须先声明(最终初始化)你的变量。 一般可以不处理
// 有问题,报错ISO C90 forbids mixing declarations and code [-Wdeclaration-after-statement]
{
foo();
int i = 0;
bar();
}
// 不会报错
{
int i = 0;
foo();
bar();
}
- -Wunused-variable g++ -Wunused-variable 没有使用的变量、参数都给出了警告。
#include <iostream>
// 没有使用变量argc,argv,a就会报错Wunused-variable
int main(int argc,char **argv)
{
int a;
return 0;
}
- [-Wunused-function]:定义了一个静态函数或变量,而没有去使用。可以不管
- incompatible pointer to integer conversion assigning to 'uint64_t' (aka 'unsigned long long') from 'void *' [-Wint-conversion] 指针类型转换错误