在C ++ Builder中使用NULL构造DynamicArray

问题描述 投票:0回答:1

我想在C ++ Builder中使用DelphiOSCUtils库。

问题可能是它使用泛型,而C ++ Builder无法很好地处理泛型。

lib中的代码如下:

USES ..., System.Generics.Collections; 

TOSCMessage = class(TOSCPacket)
private
  ...
public
  constructor Create(Address: string); overload;
  constructor Create(Bytes: TBytes); overload;

  TOSCPacket = class (TObject)
  private
   ...
  public
    constructor Create(Bytes: TBytes);
  end;

生成的HPP文件为:

class PASCALIMPLEMENTATION TOSCBundle : public TOSCPacket
{
    typedef TOSCPacket inherited;
private:
   ...
public:
    __fastcall TOSCBundle(System::DynamicArray<System::Byte> Bytes);
    __fastcall virtual ~TOSCBundle(void);
    __classmethod virtual TOSCPacket* __fastcall Unpack(System::DynamicArray<System::Byte> Bytes, int PacketOffset, int Count, System::Extended TimeTag = 0.000000E+00)/* overload */;
    /* Hoisted overloads: */    
public:
};

[当我尝试在C ++中创建新的TOSCMessage obj时

TOSCBundle *bundle = new TOSCBundle(NULL);

我收到错误:

E2285找不到与'TOSCBundle :: TOSCBundle(int)'的匹配项] >>

任何人都有如何解决此问题的指示?

我想在C ++ Builder中使用DelphiOSCUtils库。问题可能在于它使用泛型,而C ++ Builder无法很好地处理泛型。 lib中的代码类似于:USES ...,System ....

c++ delphi c++builder builder osc
1个回答
4
投票

您的问题与泛型无关。

© www.soinside.com 2019 - 2024. All rights reserved.