使用结构绑定时qtcreator不会自动完成?

时间:2017-11-18 12:44:50

标签: for-loop autocomplete qt-creator c++17 structured-bindings

我似乎有一个问题,qtcreator没有自动完成我的代码,这变得非常烦人。

当我尝试在for循环中使用结构绑定时,它无法自动完成..

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 个答案:

答案 0 :(得分:0)

对此的临时解决方案似乎是这样的 - 自动填充不会抱怨,并且似乎符合我对(可读性)的定义:

for ( const auto &elements : this->list_of_files)
{
   auto name = std::get<0>(elements);
   auto file = std::get<1>(elements);
}