Я работаю с MS Visual Studio 2017, V. 15.9.8.
Я использую отличную версию JetBrains ReSharper Ultimate 2019.1.2 191.0.20190603.142841. В указанном месте выдается предупреждение:
#include <vector>
struct T
{
std::vector<char> m;
const char *f() const
{
static const char emptyData; // ReSharper complains here
return m.size() ? &m[0] : &emptyData;
}
};
Сообщение
file.h: Stati c локальная переменная типа 'const unsigned char' должна быть инициализируется. Это нестандартное расширение Microsoft C ++.
Предупреждение исчезает, если emptyData
не является постоянным.
Предупреждение является неправильным, поскольку все данные c stati, включая постоянные данные c местные жители, по стандарту инициализируются нулями, верно?