【发布时间】:2023-03-10 13:49:01
【问题描述】:
我希望将 std::vector 中元素的索引与无符号值进行比较。如果我直接比较喜欢;
if(std::distance(...)>min_distance) // true for some
我只是收到一个警告,但工作正常。但是,为了消除警告,如果我将 min_distance 转换为 int,我不会得到任何比较结果(尽管有)
if(std::distance(...)>(int)min_distance) // never true
具体的问题是什么?
【问题讨论】:
-
你的向量有多大?您平台上的 std::difference_t 类型是什么?
-
distance() 的参数是什么?更完整的代码示例将有助于诊断。