Ошибки упругости библиотеки стандартных шаблонов C++

Проблема

Анализ останавливается с сообщением об ошибке, которое ссылается на такие шаблоны классов, как map и vector из библиотеки стандартных шаблонов.

Часто в сообщении об ошибке указывается, что либо оператор не может быть найден, либо более одного оператора соответствуют заданным операндам.

Причина

Polyspace® программное обеспечение обеспечивает эффективную реализацию всех шаблонов классов из библиотеки стандартных шаблонов (STL). Если ваш исходный код пересмотрит шаблоны, анализ может быть остановлен с сообщением об ошибке.

Решение

Чтобы использовать собственные реализации шаблонов из библиотеки стандартных шаблонов:

  1. Отключите реализации Polyspace, используя опцию No STL stubs (-no-stl-stubs).

  2. Добавьте папки, содержащие ваши реализации, к верификации.

Примечание

Использование собственных определений шаблонов может вызвать другие ошибки компиляции и связывания.