Отсутствующие шаблоны из заголовка `<cmath>` в VS 2010 - PullRequest
1 голос
/ 06 февраля 2012

Я только что заметил, что шаблоны, продиктованные стандартом c ++ 11 [26.8 c.math] для заголовка <cmath>, отсутствуют в версии стандартной библиотеки c ++, поставляемой с Visual Studio 2010 .

В частности, я искал std :: signbit, но поиск по msdn подтвердил то, что я видел в отправленном заголовке (а именно, серию директив using, которые импортируют только «старые» имена C ). Я не вспомнил, что читал об этом отклонении от Стандарта, и о нем явно не говорится в документации MSDN.

Какой лучший способ обойти отсутствующую функциональность?

Есть ли официальное сообщение об исправлении в будущем выпуске Visual Studio?

EDIT Версия Стандарта, на которую я ссылался, устарела, поэтому мое утверждение о неполноте является недобросовестным. signbit все еще отсутствует, но это не шаблон, это перегруженная функция. Спасибо @Xeo за разъяснения.

1 Ответ

2 голосов
/ 06 февраля 2012

Во-первых, это не шаблоны (было бы странно, поскольку в C нет шаблонов, а <cmath> - заголовок C).

Затем VS2010 был отправлен в порядке до завершения C ++ 11, поэтому понятно, что не весь stdlib включен туда.

FWIW, VS11 заявляет, что покрыл весь стандартный st ++ C ++ 11.

...