Ошибки от Использования пространства имен 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.