У меня возникла проблема с C++ на vs2005, а также vs2008 ... вот как вы можете воспроизвести вопрос ....Устаревшие функции не указаны при использовании «System :: Threading :: ThreadState» (и другие!) C++ VS2005/2008
создать проект под названием 'тест' новый (C++) (файл | новый | проект) выберите "приложение Windows Forms"
и добавить 'stdio.h' включить и код фрагмент ниже в исходный файл test.cpp ..... ------------------- начало фрагмента ------------- -------
#include <stdio.h>
...
int main(array<System::String ^> ^args)
{
int i;
System::Threading::ThreadState state;
char str[20];
sprintf (str, "%s", "test string");
...
------------------- конец фрагмента --------------------
Если вы должны скомпилировать код, как указано выше (сначала вам нужно будет «buildall»), вы получите два предупреждения о том, что «i» и «state» не были найдены (ничего не сказано о том, что sprintf устарел).
Если закомментировать «System :: Threading: состояние резьбы;», вы получите одно предупреждение о «я» быть без ссылок и другое предупреждение (C4996) для «устаревших» Sprintf заявления ....
Эта проблема также возникает в "System :: Windows, :: Forms :: MessageBoxIcon", "System :: Base64FormattingOptions" (и Perhap все типы 'класса' перечисление!)
Любое знает причины и обходного пути к (здесь есть другие файлы, которые демонстрируют эту проблему ..). (Я начал нить на MSDN, но потом нашел этот сайт! Ссылка ниже)
Visual Studio 2005 has stopped warning about deprecated functions