我想在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 ....
您的问题与泛型无关。