Разметочный указатель на массив в структуре от c ++ до c # - PullRequest
1 голос
/ 11 марта 2011

Как мне преобразовать это выражение из C ++ в C #?

struct MyStruct    
{  
    uint8_t *rcSource;
    uint8_t *rcMask;  
    uint32_t *clientAuthSchemes;  
}

Структура инициализируется в C ++ следующим образом:

MyStruct st;
st.rcSource = (uint8_t*) malloc(width*height);
st.rcMask = (uint8_t*) malloc(width*height);
st.clientAuthSchemes = (uint32_t*) malloc(sizeof(uint32_t)*(size+1));

Ответы [ 2 ]

0 голосов
/ 13 марта 2011

Если это одномерные массивы, вы, вероятно, хотите что-то вроде этого:

struct MyStruct    
{  
    public byte[] rcSource;
    public byte[] rcMask;  
    public uint[] clientAuthSchemes;  
}

Инициализация:

MyStruct st;
st.rcSource = new byte[width*height];
st.rcMask   = new byte[width*height];
st.clientAuthSchemes = new uint[size+1];
0 голосов
/ 11 марта 2011

Я считаю, что это путь:

struct MyStruct
{
   sbyte rcSource, rcMask;
   int clientAuthSchemes;
}

:)

...