Изменения автоматического форматирования>> >>
У меня проблема с расширением C++ VScode. Всякий раз, когда я определяю матрицу, состоящую из векторов, таких как vector<vector<int> >
и использую автоформат, он меняет код на vector<vector<int>>
что приводит к ошибке компилятора.
Есть ли какие-либо решения?
Ответы
Ответ 1
Расширение VSCode C++ использует формат clang для форматирования документа. Если вы застряли со старым компилятором, который не поддерживает C++ 11, просто добавьте файл .clang-формата в рабочее пространство со следующей строкой:
Standard : Cpp03
Дополнительные параметры форматирования см. В следующей ссылке: https://clang.llvm.org/docs/ClangFormatStyleOptions.html
Ответ 2
Ошибка компилятора заключается в том, что >>
интерпретируется как оператор сдвига справа вместо двух последовательных разделителей списков шаблонов шаблонов. До С++ 11 это означало, что язык должен работать парсером. Однако в С++ 11 для предотвращения этого было добавлено исключение. См. Этот ответ для получения дополнительной информации.
Лучшим решением будет обновление вашего компилятора до С++ 11 или более поздней версии.