0

У меня возникла проблема с 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

ответ

0

Это звучит как вопрос, вы должны принять для поддержки Microsoft.