C++, std::tuple, std::get, ошибка сегментирования

У меня есть массив картежей:

std::vector<std::tuple<std::string, std::string, int>> TupplesArr;

В цикле я перебираю данный массив и вывожу каждый элемент картежа в консоль:

for (auto tpl : TupplesArr)
{
  std::cout << std::get<0>(tpl) << " " << std::get<1>(tpl) << " " << 
     std::get<2>(tpl) << std::endl;
}

На одной из итераций цикла программа падает с ошибкой сегментирования. Я понимаю, что один из кортежей пустой и std::get<0>(tpl) обращается к несуществующему элементу. Но вопрос в том, как это преодолеть и пропустить итерации с данной проблемой?


Ответы (0 шт):