KOD cpp: UKRYJ
// Zmienna array<Byte>^ data jako argument funkcji
//int i = data->Length;
unsigned char str[i];
memset(str, 0, i);
System::Runtime::InteropServices::Marshal::Copy(data, 0, IntPtr(str), i);
// reszta nieistotna...
//int i = data->Length;
unsigned char str[i];
memset(str, 0, i);
System::Runtime::InteropServices::Marshal::Copy(data, 0, IntPtr(str), i);
// reszta nieistotna...
1>.\Data.cpp(1209) : error C2057: expected constant expression |
Całość ogólnie ma zamieniać array<Byte> (managed) na tablice unsigned char (unmanaged). Problem właśnie w tym, że nie wiadomo jaką wielkość będzie miała "data". Kombinowałem z malloc(), ale niespecjalnie mi to wychodziło, by była tablica unsigned char (przy signed wyrzuci błąd kawałek dalej w pętli, więc powinien być unsigned).
Pytanie: Jak przydzielić rozmiar dla tej tablicy (str) w zależności od wielkości tablicy argumentu (data).