FIX: 某些模板代码不编译,并在安装 Visual Studio 2005 Service Pack 1 后,会发生错误 C2244

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 930198
本文已归档。它按“原样”提供,并且不再更新。
症状
在安装 Microsoft Visual Studio 2005 Service Pack 1 (SP1) 后,某些模板代码不会编译。此外,C2244 出错。
解决方案

修补程序信息



有关 MSDN 代码库的详细信息,请访问下面的 Microsoft 网站:

系统必备组件

在应用此修补程序之前,您必须安装 Visual Studio 2005 SP1。

重新启动要求

您不必在应用此修补程序后,重新启动计算机。

修补程序替换信息

此修补程序不替代任何其他修补程序。

文件信息

此修补程序的英文版具有的文件属性 (或更新的文件属性) 在下表中列出。日期和时间对这些文件列出在协调世界时 (UTC)。当您查看文件信息时,将转换为本地时间。若要 UTC 与本地时间之间的时差使用控制面板中的 日期和时间 项中的 时区 选项卡。
visual Studio 2005 32 位版本
文件的名称文件版本文件大小日期时间
C1.dll14.0.50727.789630,7842007 年一月 9 日19: 37
C1.dll14.0.50727.789950,7842007 年一月 10 日00: 53
C1.dll14.0.50727.7891,543,1682007 年一月 10 日00: 52
C1.dll14.1.60511.0528,3842007 年一月 10 日08: 22
C1.dll14.1.60511.0528,3842007 年一月 10 日08: 22
C1.dll14.1.60511.0524,2882007 年一月 10 日08: 22
C1.dll14.0.50727.789581,6322007 年一月 10 日00: 52
C1.dll14.0.50727.789589,8242007 年一月 10 日00: 53
C1ast.dll14.0.50727.789778,2402007 年一月 9 日19: 19
C1xx.dll14.0.50727.7893,706,3682007 年一月 10 日00: 53
C1xx.dll14.0.50727.7896,529,5362007 年一月 10 日00: 52
C1xx.dll14.1.60511.02,146,3042007 年一月 10 日08: 22
C1xx.dll14.1.60511.02,146,3042007 年一月 10 日08: 22
C1xx.dll14.1.60511.02,138,1122007 年一月 10 日08: 22
C1xx.dll14.0.50727.7892,285,5682007 年一月 9 日19: 38
C1xx.dll14.0.50727.7892,183,1682007 年一月 10 日00: 52
C1xx.dll14.0.50727.7892,191,3602007 年一月 10 日00: 53
C1xxast.dll14.0.50727.7892,498,5602007 年一月 9 日19: 19
C2.dll14.0.50727.7892,265,0882007 年一月 9 日19: 24
C2.dll14.0.50727.7893,596,2882007 年一月 10 日00: 53
C2.dll14.0.50727.7897,168,0002007 年一月 10 日00: 52
C2.dll14.1.60511.11,298,4322007 年一月 10 日08: 22
C2.dll14.1.60511.01,507,3282007 年一月 10 日08: 22
C2.dll14.1.60511.01,261,5682007 年一月 10 日08: 22
C2.dll14.0.50727.7892,486,2722007 年一月 10 日00: 52
C2.dll14.0.50727.7892,199,5522007 年一月 10 日00: 53
Pgodb80.dll8.0.50727.78961,4402007 年一月 9 日19: 20
Pgodb80.dll8.0.50727.78970,6562007 年一月 10 日00: 53
Pgodb80.dll8.0.50727.789130,0482007 年一月 10 日00: 52
Pgodb80.dll8.0.50727.78945,0562007 年一月 9 日19: 21
Pgodb80.dll8.0.50727.78938,4002007 年一月 10 日00: 53
Pgodb80.dll8.0.50727.78981,4082007 年一月 10 日00: 52
visual Studio 2005 基于 Itanium 的版本
文件的名称文件版本文件大小日期时间平台
C1.dll14.0.50727.7891,543,1682007 年一月 10 日02: 06IA 64
C1xx.dll14.0.50727.7896,529,5362007 年一月 10 日02: 06IA 64
C2.dll14.0.50727.7897,168,0002007 年一月 10 日02: 05IA 64
Pgodb80.dll8.0.50727.789130,0482007 年一月 10 日02: 00IA 64
Pgort80.dll8.0.50727.78981,4082007 年一月 10 日02: 00IA 64
状态
Microsoft 已经确认这是在"适用于"一节中列出的 Microsoft 产品中的问题。
更多信息
有关软件更新术语的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
824684用于描述 Microsoft 软件更新的标准术语的说明
Visual Studio 2005 Service Pack 1 有关的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
928957visual Studio 2005 Service Pack 1 发行说明

重现此问题的步骤

  1. 安装 Visual Studio 2005 SP1。
  2. 启动 Visual Studio 2005。
  3. 文件 菜单上单击 新建,然后单击 项目
  4. 单击 Visual c + +类库,请在 名称 框中键入 MyTemplates 并单击然后单击 确定
  5. 解决方案资源管理器MyTemplates.cpp,用鼠标右键单击,然后单击 打开
  6. MyTemplates.cpp 文件中后,两个 # include 语句中添加下列代码行。
    template <class T>class A{public:    typedef int N_A;};template <class T>class B : public A<T>{public:    typename A<T>::N_A test();};template <class T>typename A<T>::N_A B<T>::test()   {     return 0;}
  7. 生成 菜单上单击 重新生成解决方案

警告:本文已自动翻译

属性

文章 ID:930198 - 上次审阅时间:12/09/2015 08:57:16 - 修订版本: 2.4

Microsoft Visual Studio 2005 Standard Edition, Microsoft Visual Studio 2005 Professional, Microsoft Visual Studio 2005 Express Edition

  • kbnosurvey kbarchive kbmt kbvs2005postsp1fix kbfix kbbug kbqfe kbpubtypekc KB930198 KbMtzh
反馈