如果我向 setColor 添加第二个调用,则会出现分段错误。我认为也许该方法正在以某种方式更改数组指针,但我不确定为什么。
#include <iostream>
using namespace std;
struct Color {
int red;
int blue;
int green;
};
void setColor(Color **arr, int index, int red, int blue, int green) {
Color *ptr = arr[index];
(*ptr).red = red;
(*ptr).blue = blue;
(*ptr).green = green;
}
int main() {
Color *arr[3];
setColor(arr, 0, 12, 23, 34);
return 0;
}