Я должен использовать void**
в программе. Я пишу следующий код. пожалуйста, направляйте меня, где я ошибаюсь.использование void ** в программе C++
struct kdnode
{
kdnode* lch;
int k;
void **dataptr;
kdnode* rch;
};
тогда я задаю
kdnode rt;
rt.dataptr=new void*[k];
rt.dataptr[0]=new int;
было также это Разыменование участия:
*(rt->dataptr[0])=n; //n is an initialized integer value.
в основном я хочу, чтобы назначить элементы массива недействительных указателей на указатели различных типов данных , Как компилятор бросает ошибку:
void*
не указатель на тип объекта
Пожалуйста, руководство мне, что делать.
Почему вы не используете контейнеры стандартной библиотеки, такие как 'std :: vector' для этого? – tadman
Возможно, OP взаимодействует с некоторыми API C? – cdhowie
Ничего незаконного в коде, который вы опубликовали, кроме, возможно, отсутствующего определения 'k'. Вы пытаетесь разыменовать 'rt.dataptr [0]' где-нибудь? –