none
VS2017将dll中函数的数组参数解释为非数组的参数,为什么? RRS feed

  • 问题

  • Dim InArray(10) As Single

    HGInteropAssemblyClassName.Interpolate(InArray, BOut)

    上面的Interpolatedll中的一个函数,VS2008VS2017中,VS都可以自动提示其参数的类型,在VS2008中提示其参数是单精度浮点数的数组,而VS2017中却提示其参数是一个单精度的浮点数,如下所示:

    VS2008中提示为:

    Public Shared Sub Interpolate(ArrayIn() As Single,ByRef ArrayOut() As Single)

    VS2008中,编译正常通过。

     

    但在VS2017中却提示为:

    Sub HGInteropAssemblyClassName.Interpolate(ArrayIn As Single(*),ByRef ArrayOu As Single(*))

     

    同时编译显示错误为:BC30311:类型“Single()”的值无法转换为“Single(*)”


    请问这是为什么?

    2019年6月29日 15:46

全部回复

  • Hi,

    我使用VS2017无法复现你的问题,这个报错是某句代码报错吗?如果可以的话,你需要提供更多的代码。

    Best Regards,

    Alex


    MSDN Community Support Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2019年7月1日 5:58
  • 您好,由于是引用 DLL 库,您要重现这个现象不容易,我把VS2008、VS2017两个版本的工程全部发给您,您分别用VS2008、VS2017打开,在 VS2017 中就显示这个错误现象。


     VS2008、VS2017两个版本的工程链接: https://pan.baidu.com/s/1b1qc2YFcg68K7xAVVsh74g 提取码: itg7 复制这段内容后打开百度网盘手机App,操作更方便哦
    2019年7月2日 5:51
  • Hi,

    公司电脑不好下载,回去帮你看一下。

    Best Regards,

    Alex


    MSDN Community Support Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2019年7月3日 7:56
  • Hi,

    运行不起来你的代码,能不能建立一个简单的项目复现你的问题,就是vs2017调用dll里的方法报错?

    Best Regards,

    Alex


    MSDN Community Support Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2019年7月3日 14:27
  •         您好,

            我建立了一个最简单的项目,以复现vs2017调用dll里的方法报错问题。

    我把VS2008、VS2017两个版本的工程全部发给您,您分别用VS2008、VS2017打开,在 VS2017 中就显示这个错误现象。

    链接: https://pan.baidu.com/s/1Jq2-klCFg-ZuRrm-uXMdIA 提取码: 4mvc 
    2019年7月6日 3:01
  • 您好:

          您复现问题了吗?知道是什么问题吗?

    2019年7月11日 11:31
  • 怎么不回答了??????
    2019年7月17日 14:03