我有一个使用定义的类型typedef unsigned int value_t;
和一个函数
value_t find_minimal_value(...) {
...
if(...) return numeric_limits<value_t>::max;
...
}
编译器拒绝编译它,说:从 'int (*)()noexcept (true)' 到 'value_t {aka int}' 的无效转换。
这是什么意思?查看 numeric_limits 类,该min()
函数应该返回一个通过模板类型名传递给它的类型的变量,所以value_t
在这种情况下。那么为什么代码不能编译呢?