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()
関数はテンプレート typename を介して渡された型の変数を返す必要があるためvalue_t
、この場合は. では、なぜコードがコンパイルされないのでしょうか?