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