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
(Polyspace Code Prover).