你能帮我理解为什么我得到unused-variable警告不是所有未使用的静态const变量吗? 我准备了一个简单的代码。这里有两个文件main.cpp和incl.h.未使用的变量警告是不是所有未使用的静态const变量
incl.h
#ifndef INCL_H
#define INCL_H
struct A
{
static A& instance()
{
static A a;
return a;
}
};
static const A a = A::instance();
static const A& b = A::instance();
#endif
的main.cpp
#include "incl.h"
int main()
{
return 0;
}
我预计会有2未使用变量警告(a和b fariables),但事实上他的警告是唯一一个用于变量b。
$ g++ -std=c++11 -Wall -Wextra -O2 -c main.cpp
In file included from main.cpp:1:0:
incl.h:14:17: warning: ‘b’ defined but not used [-Wunused-variable]
static const A& b = A::instance();
为什么不变量一个原因相同的警告?
我想你会看到与任何类类型相同的现象。 – molbdnilo
你使用的是哪个版本的g ++系列? – Jonas
@Jonas,g ++版本是5.4.1 –