说,我在C#中具有以下结构:

public struct MyStructCSharp
{
    private byte[] offsets = new byte[] { 28, 20, 27, 36 };
}


您在C/C++中如何做?

以下似乎无效:

typedef struct _MyStructCpp
{
    _MyStructCpp()
    {
        offsets[] = {28, 20, 27, 36};
    }

private:
    unsigned char offsets[];
}MyStructCpp;

最佳答案

声明数组后,您将无法分配它。除此之外,语法将是错误的。如果它只有4个元素,则执行此操作,或者如果可以的话,仅使用vector

struct MyStruct {

  MyStruct() {
    offsets[0] = 28;
    offsets[1] = 20;
    offsets[2] = 27;
    offsets[3] = 36;
  }

private:
  unsigned char offsets[4];
};


另外,请勿在类型名称下加下划线。这些是保留的,可能会导致令人讨厌。

08-16 23:07