Это довольно простой вопрос, который по какой-то причине надлежащего решения ускользает от меня в данный момент. Я имею дело со сторонним SDK, который объявляет следующую структуру:
struct VstEvents
{
VstInt32 numEvents; ///< number of Events in array
VstIntPtr reserved; ///< zero (Reserved for future use)
VstEvent* events[2]; ///< event pointer array, variable size
};
Несмотря на то, что это массив «переменного размера», он объявляется статически. Очевидно, что если я сделаю объект VstEvents, установлю numEvents на что-то, а затем пройду и начну добавлять их в массив, это вызовет повреждение памяти.
Так, как я должен должным образом иметь дело с такой структурой? Должен ли я выделить свой собственный массив VstEvent *, а затем указать ему события [0]?