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
.