【发布时间】:2010-06-22 11:30:15
【问题描述】:
升级到 VC++ 2010 后,在构建使用 C# 项目中的强类型数据集的 C++/CLI 项目时会引发警告 C4564(方法定义了不受支持的默认参数)。
ReadersManager.cpp(311):警告 C4564:类“System::Data::DataTable”的方法“SetNewRecord”定义了不受支持的默认参数“action”
调用方法时明确指定值'2'
从程序集“System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”导入类型“System::Data::DataTable”时发生此诊断。
从程序集“System.Data.DataSetExtensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”导入类型“System::Data::TypedTableBase”时发生此诊断。
从程序集“MyProductDataStoreCLR, Version=4.5.0.9, Culture=neutral, PublicKeyToken=null”导入类型“MyProductDataStoreCLR::ReadersDataSet::ReadersDataTable”时发生此诊断。
在调用 System::Data::DataTable::Select 时会发出警告,因此我无法更改与 SetNewRecord 相关的调用代码。
这是 C++/CLI 不支持新的 C# 可选参数功能的问题吗?
【问题讨论】:
标签: visual-c++ c++-cli warnings strongly-typed-dataset visual-c++-2010