Я хотел бы знать, есть ли возможность объявить размер массива во время выполнения без использования нового ключевого слова.Изменение размера массива во время выполнения
struct myKernel
{
uint8_t **var;
myKernel(){}
myKernel(const int number = 2)
{
//I want to do something like
//var = new int*[number]; but not allocate it on the heap
*var = a[number];
}
void operator()
{
//do stuff here with the var array
}
};
Благодарим за внимание!
Ну, если не на куче, где еще? – Columbo
Что вы подразумеваете под «статикой»? 'var' здесь не' статический '. Кроме того, вы должны либо использовать 'std :: vector', либо вручную выделять память в куче с помощью 'var = new uint_8 * [number]' (если по статике вы имели в виду «в стеке», я не что VLA являются стандартными C++ именно из-за 'std :: vector', и я не уверен, что это хорошая идея, если' number' большой). –
Caninonos
Я, хотя выделил его в стек, решение было бы использовать шаблоны, я не думал об этом в начале, так что извините, я все еще учась, я отправлю код, как только я это сделаю .... спасибо любым способом –