Эта ошибка возникает из-за того, что у вас, вероятно, не включен C ++ 11. Например, рассмотрим эту программу :
#include <iostream>
#include <string>
#include <vector>
struct Car {
std::string a;
};
int main() {
std::vector<Car> example;
example.push_back({""});
}
При запуске с C ++ 98 в GCC 8.2.0 отображается сообщение об ошибке:
prog.cc: In function 'int main()':
prog.cc:12:23: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11
example.push_back({""});
^
prog.cc:12:27: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11
example.push_back({""});
^
Запуск этого с C ++ 11 исправляет ошибку.