头文件中的const变量已定义但未使用"警告

时间:2016-03-10 03:08:09

标签: c++ const warnings header-files

我在头文件中定义了多个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);
}

var2var6var3之外的所有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并在源文件中定义它们,我猜也可以排除警告。但我只是想知道一些人被警告的原因是什么,但有些人没有。感谢。

0 个答案:

没有答案