C++ Clang静态代码分析器'&燃气轮机&燃气轮机';表达式未定义
我有一个非常简单的代码示例,它在clang analyzer中创建了一个令人困惑的结果,至少对我来说是这样C++ Clang静态代码分析器'&燃气轮机&燃气轮机';表达式未定义,c++,clang,static-analysis,C++,Clang,Static Analysis,我有一个非常简单的代码示例,它在clang analyzer中创建了一个令人困惑的结果,至少对我来说是这样 #include <random> #include <vector> int main() { std::mt19937 rng; std::vector<int> collection; std::shuffle(begin(collection), end(collection), rng); } 行号,如果它在头文件中
#include <random>
#include <vector>
int main() {
std::mt19937 rng;
std::vector<int> collection;
std::shuffle(begin(collection), end(collection), rng);
}
行号,如果它在头文件中,那么周围的一些代码会很有用。我已经添加了额外的信息。谢谢如果
\u Engine\u result\u type
是有符号整数类型,则\u Engine\u result\u type>>移位的结果未定义。如果(\u EDt-\u w0)
超出范围(0..sizeof(int)*CHAR\u BIT-1
),则同上。typedef\u UIntType result\u type;来自mersenne_twister_引擎类实现。我假设UIntType是无符号的?人们希望如此-移位值如何?
warning: The result of the '>>' expression is undefined
__mask0_ = __w0_ > 0 ? _Engine_result_type(~0) >> (_EDt - __w0_) :
~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ 1 warning generated.