静态std :: stringstream的clang-tidy警告

问题描述 投票:6回答:1

我有以下MCVE:

#include <sstream>

struct A {
    static std::stringstream s;
};

std::stringstream A::s;

int main() {}

当我在这段代码上运行clang-tidy 6.0.1时,我得到以下警告:

static_sstream.cpp:7:22: warning: initializing non-local variable with non-const expression depending on uninitialized non-local variable 'out' [cppcoreguidelines-interfaces-global-init]
std::stringstream A::s;
                     ^

似乎问题在于std::stringstream的构造函数具有默认值std::ios_base::out的参数。我的问题是,这是一个真正的问题吗?如果是这样,在课堂上使用静态std::stringstream的正确方法是什么?

c++ stringstream clang-tidy
1个回答
0
投票

MSVC 2015(windows)编译上面的代码片段,没有任何警告。验证了标题,它有constexpr。看起来像Clang-tidy的问题。

© www.soinside.com 2019 - 2024. All rights reserved.