0

我在 vs2005 和 vs2008 上遇到了 c++ 的问题......这是重现该问题的方法......

创建一个名为“test”的新 (c++) 项目 (file|new|project) 选择“Windows Forms Application”

并将“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 :Thread state;”,您将收到一个关于 'i' 未被引用的警告和另一个警告 (C4996) 用于 'deprecated' sprintf 语句......

“System::Windows::Forms::MessageBoxIcon”、“System::Base64FormattingOptions”(可能还有所有“枚举类”类型!)也会出现此问题

任何人都知道这里演示的问题的原因和解决方法(我有其他文件证明了这个问题..)。(我在 msdn 上开了一个帖子,但后来找到了这个网站!见下面的链接)

Visual Studio 2005 已停止对不推荐使用的函数发出警告

4

1 回答 1

0

这听起来像是您应该向 Microsoft 支持提出的问题。

于 2010-01-06T18:47:53.737 回答