Как я могу объявить функцию в C, которая принимает вложенный указатель переменной глубины?
Например, функция должна принимать int*
или int**
или int***
и т. Д.
Я полагаю, что моя сигнатура функции будет использовать void
, но я не могу понять, как привести обратно к указателю указателя ... типа.
Вот не общий пример того, чего я хочу достичь
void myfunc(void* obj, int dim) {
if (dim == 1) {
int* myobj1 = (int*) obj;
// do stuff with myobj1
} else if (dim == 2) {
int** myobj2 = (int**) obj;
// do stuff with myobj2
}
// ad infinitum
Это вообще возможно, зная, что C статически типизирован?