Ошибки при использовании std пространства имен Без префикса

Проблема

Polyspace® анализ останавливается с сообщением об ошибке, таким как:

error: the global scope has no "modfl"
В линии, подсвеченной в ошибке, используется функция из стандартной библиотеки без std:: префикс.

Причина

Некоторые компиляторы разрешают использование представителей стандартного пространства имен библиотеки без явного определения std:: префикс. Для таких компиляторов ваш код может содержать такие линии:

using ::mblen;
где mblen является представителем стандартной библиотеки C++. Компиляция Polyspace рассматривает представители как часть глобального пространства имен и показывает ошибку.

Решение

Это хорошая практика, чтобы квалифицировать представителей стандартной библиотеки с std:: префикс. Например, чтобы использовать mblen функцию в предыдущем примере переписать линию следующим образом:

using std::mblen;

Чтобы продолжить сохранять текущий код и работать с ошибкой Polyspace, используйте опцию анализа -using-std. При запуске анализа в пользовательском интерфейсе Polyspace введите опцию в поле Other. См. Other.