我们正在使用std::span()
(现在使用gsl实现)。最近我们发现,将std::span.size()
与vector.size()
进行比较后会得到-Wsign-compare error
:
if( span.size() > vector.size() ) // comparison between signed and unsigned integer expressions [-Wsign-compare]
我认为我们不想在每一次比较中投出。我们的编码指南将这些警告视为错误。好奇,如果有人有任何想法或建议吗?
答案 0 :(得分:1)
您可以使用迭代器并使用函数std::distance()
。
if (std::distance(s.begin(), s.end()) > std::distance(v.begin(), v.end()))