我重新說這可能是一個noob問題,但我需要創建一個'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 **'。
你的指針沒有初始化......如果你需要'char **',爲什麼不簡單地創建一個10個char *的數組然後獲取一個指向它的第一個元素的指針呢? –
您能否顯示給定函數的原型?它似乎需要'char **'而不是'char ** [10]'。 – Jarod42
這是關於C的問題,而不是關於C++的問題。如果我這樣做,我沒有在您的問題 –