qtcreator не выполняет автозаполнение при использовании структурных привязок?

Кажется, у меня проблема с qtcreator, который не выполняет автозаполнение моего кода, что довольно раздражает.

В настоящее время это не в состоянии автозаполнения, когда я пытаюсь использовать структурные привязки для циклов, как это..

std::vector<pair<string,AudioFile<double>>> list_of_files;
// Some init of list_of_file


for (const auto& [name,file]: this->list_of_files) // red line under this.. does seem to like structure bindings?
{
    file.printSummary(); // qtcreator don't offer any autocomplete options?

}

В основном qtcreator жалуется на код, размещенный выше.

Но когда я пишу это так:

for (int i = 0 ; i <list_of_file.size() ; i++) // No red lines under this.. 
{
  list_of_files[i].second.printSummary() // Autocompletes without any problems.
}

qtcreator не жалуется на этот код и, похоже, автоматически его заполняет. Так почему он вызывает столько проблем со стилем C++17?

Какие-нибудь исправления для этого?

1 ответ

Решение

Временное решение для этого выглядит примерно так - на что автозаполнения не жалуются, и, кажется, соответствуют моему определению (удобочитаемость):

for ( const auto &elements : this->list_of_files)
{
   auto name = std::get<0>(elements);
   auto file = std::get<1>(elements);
}
Другие вопросы по тегам