Я знаю, что это значит, потому что циклы for ничего не возвращают, когда данные пусты.
как бы вы это исправили.
Код: Выделить всё
template
auto get(std::string argument_name) -> T {
if (argument_name.length() = 2) {
argument_name = "--" + helpers::convert_string_tolower(argument_name);
}
for (const auto &p_n: parser.storage | std::views::keys) {
for (const auto &[a_s_n, a_l_n] : parser.storage[p_n] | std::views::keys) {
if (argument_name == a_s_n || argument_name == a_l_n) {
ArgumentNamePair a_p = std::make_pair(a_s_n, a_l_n);
if (parser.storage[p_n][a_p].contains("value")) {
return std::get(parser.storage[p_n][a_p]["value"]);
}
}
}
}
}
Код: Выделить всё
ArgumentParser program("");
program.get("argument_1"); // here i get the warning.
Подробнее здесь: https://stackoverflow.com/questions/786 ... trol-paths