CppCoreChecker C-Style предупреждение о применении при использовании диапазона на основе цикла для вектора
Предположим, следующий код:
#include <iostream>
#include <vector>
#include <string>
int main() {
std::vector<std::string> lines;
lines.push_back("line");
for (const auto& s : lines) {
std::cout << s;
}
}
В строке цикла for я получаю следующее предупреждение:
C26493 Не используйте приведение в стиле C, которое бы выполняло статическую трансляцию downcast, const_cast или reinterpret_cast.
Может кто-нибудь объяснить, откуда это? Я использую Visual Studio 2017 Community Edition Версия 15.2.
1 ответ
Решение
Как видно из этого сообщения об ошибке, это происходит только для std::string
тип при вставке в basic_iostream
, Эта ошибка была устранена, но еще не выпущена, так что сейчас вам просто нужно подождать.