我该怎么做?
uint_fast8_t array1[100];
uint_fast8_t array2[100];
void get_a(bool which_one)
{
uint_fast8_t *array[] = which_one ? &array2 : &array1; //doesn't work
}
这会引发错误,提示“无法将uint_fast8_t(*)[100]转换为uint_fast8_t * []”
答案 0 :(得分:4)
因为它不是指针而是指针数组
uint_fast8_t *array = which_one ? array2 : array1;
或
uint_fast8_t *array[] = {which_one ? &array2 : &array1}