Skip to content

Latest commit

 

History

History
33 lines (31 loc) · 1.13 KB

编译问题.md

File metadata and controls

33 lines (31 loc) · 1.13 KB
  1. 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();
}
  1. -Wunused-variable g++ -Wunused-variable 没有使用的变量、参数都给出了警告。
 #include <iostream>
 // 没有使用变量argc,argv,a就会报错Wunused-variable
 int main(int argc,char **argv)
 { 
     int  a;

     return 0;
 }
  1. [-Wunused-function]:定义了一个静态函数或变量,而没有去使用。可以不管
  2. incompatible pointer to integer conversion assigning to 'uint64_t' (aka 'unsigned long long') from 'void *' [-Wint-conversion] 指针类型转换错误