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, Эта ошибка была устранена, но еще не выпущена, так что сейчас вам просто нужно подождать.

Другие вопросы по тегам