我在头文件中定义了多个const
变量。但是,当我编译时,其中一些有defined but not used
警告,而有些警告没有。
例如,以下内容没有此警告:
const double var1 = 20;
但var3
确实:
const double var3 = func(var2);
其中func()
是在同一个头文件的开头定义的内联函数,如
inline double func(double x) {
double d = var5 * pow(x, var4);
return (d + var6);
}
此var2
到var6
除var3
之外的所有const
变量都定义为var1
(无警告),在同一个头文件中如下:
const double var2 = 100;
const double var4 = 50;
const double var5 = 2;
const double var6 = 10;
我很好奇为什么var3
会发出警告。
此外,警告仅发生在var8
:
extern const int var6;
const int var7 = var6;
const int var8 = var7;
我可以禁用警告,或者将所有变量设为extern const
并在源文件中定义它们,我猜也可以排除警告。但我只是想知道一些人被警告的原因是什么,但有些人没有。感谢。