代码之家  ›  专栏  ›  技术社区  ›  Orca

C++中的重载运算符,在VB.NET中导出和导入

  •  1
  • Orca  · 技术社区  · 15 年前

    你好,我有个奇怪的情况。我有一个C++代码,重载+,-*运算符,并将它们输出到.dll文件中。现在,我想从vb.net代码中导入那些重载的运算符。所以应该是这样的:

     <DllImport("StructDLL.dll")> Public Shared Function 
     Operator +(ByVal a1 As A, ByVal a2 As A) As A
    End Function
    

    所以我要做的就是从DLL中导入可爱的重载操作符+。

    请注意,该运算符已经从dll内部过载,所以我应该将其作为函数或像这样的运算符导入吗?

     <DllImport("StructDLL.dll")> Public Shared 
      Operator +(ByVal a1 As A, ByVal a2 As A) As A
      End Operator
    

    重载的加号运算符应该添加结构。因此,DLL被编程为在结构(C++)上工作,并且我想将它导入到VB.NET中,以便在结构上工作。

    1 回复  |  直到 15 年前
        1
  •  1
  •   Hans Passant    15 年前

    你做不到这一点。P/Invoke封送拆收器不支持返回结构的函数。