У меня есть следующий код:
template<typename flow_t, typename cost_t>
struct min_cost_flow {
static const flow_t FLOW_INF = numeric_limits<flow_t>::max() / 2;
static const cost_t COST_INF = numeric_limits<cost_t>::max() / 2;
...
};
К сожалению, он не компилируется и выдает ошибку "[...] неопределенная ссылка на` min_cost_flow :: COST_INF ".
Twoисправления, которые я пробовал, которые мне не нравятся, включают изменение const
на constexpr
(успешно компилируется на моем компьютере, но не на другом с более старой версией gcc) и определение значения констант ниже класса,но это отделяет значения слишком далеко от того места, где я хочу их использовать. Любые другие идеи?