Я рассказываю, что это, вероятно, совершенно нулевой вопрос, но мне нужно создать массив типа 'char **', потому что это тип параметра, который я использую для запроса. После этого мне нужно сделать каждый элемент этого массива ссылкой. Я открыт для возможности того, что это даже не представляется возможным, но до сих пор это то, что я пытался, и в результате получил ошибку нарушения прав доступа:Создание указателя на указательный массив
char **array[10];
*array[1] = ".\\images\\cockroach\\1.png";
*array[2] = ".\\images\\cockroach\\1.png";
*array[3] = ".\\images\\cockroach\\1.png";
*array[4] = ".\\images\\cockroach\\1.png";
*array[5] = ".\\images\\cockroach\\1.png";
*array[6] = ".\\images\\cockroach\\1.png";
*array[7] = ".\\images\\cockroach\\1.png";
*array[8] = ".\\images\\cockroach\\1.png";
Вот функция вопроса:
Enemytype makeenemy(int hp, int xcor, int ycor, int width, int height, int speed, int a1, int a2, char *imagel[10], char *imaged[10])
{
int i = 0;
int j = 0;
Enemytype m;
m.width = width;
m.height = height;
m.xcor = xcor;
m.ycor = ycor;
m.speed = speed;
m.hp = hp;
m.a1 = a1;
m.a2 = a2;
while (imagel[i]){
m.arrayl[i] = Loadtext(imagel[i]);
i ++ ;
}
while (imaged[j]){
m.arrayd[j] = Loadtext(imaged[j]);
j++;
}
return m;
}
Дело в том, чтобы создать шаблон с массивом изображений, не зная первоначально, сколько изображений он будет иметь. Loadtext(char* filename)
- это функция, которая создает изображение из данной ссылки. В результате он просит меня «char **».
ваши указатели не инициализируются ... если вам нужно '' символ **, почему вы не просто сделать массив из 10 'полукокса *' ы затем захватить указатель на его первый элемент? –
Не могли бы вы показать прототип данной функции? Кажется, он требует 'char **', а не 'char ** [10]'. – Jarod42
Это вопрос о C, а не о C++. Я не вижу ни одного C++ в вашем вопросе –