• 编译器将接受解析为相同实际类型的多个模板专用化,尽管附加定义永远不可用也是如此。 编译器现在可检测这些多个定义。

  • __int32 int 被视为单独的类型。 编译器现在将 __int32 视为 int 的同义词。 这意味着,如果同时在 __int32 int 上重载函数,编译器将检测多个定义,并给出错误。

    以下示例生成 C2084:

    // C2084.cpp
    void Func(int);
    void Func(int) {}   // define function
    void Func(int) {}   // C2084 second definition
    

    若要更正此错误,请删除重复的定义:

    // C2084b.cpp
    // compile with: /c
    void Func(int);
    void Func(int) {}
    
  •