Существует ли MSVC-эквивалент __attribute__(returns_nonnull) gcc?C++

Программы на C++. Форум разработчиков
Anonymous
Существует ли MSVC-эквивалент __attribute__(returns_nonnull) gcc?

Сообщение Anonymous »

Сегодня я узнал об этой небольшой особенности GCC/Clang:

Код: Выделить всё

Something * MyFunctionThatNeverReturnsNULL() __attribute__((returns_nonnull))
{
// code here that will return a NULL value
static Something blah;
return &blah;
}

[...]

int main()
{
Something * s = MyFunctionThatNeverReturnsNULL();
if (s) // useful:  compiler generates a warning here since this test will always return true!
{
// do something
}
else
{
// do something else
}
}
Эта функция полезна, поскольку если у меня есть вызывающий код, который ошибочно ожидает возвращаемого значения NULL, указывающего на сбой, аннотация __attribute__((returns_nonnull)) позволяет компилятору напечатать предупреждение, чтобы я мог посмотреть на этот код и исправить его.
Мой вопрос: есть ли в MSVC что-нибудь подобное/эквивалентное, чтобы при компиляции могли генерироваться предупреждения того же типа? под Windows?

Подробнее здесь: https://stackoverflow.com/questions/787 ... ns-nonnull

Вернуться в «C++»