使用if(?运算符)语句通过指针传递数组

时间:2019-06-05 18:25:36

标签: c++

我该怎么做?

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 * []”

1 个答案:

答案 0 :(得分:4)

因为它不是指针而是指针数组

   uint_fast8_t *array = which_one ? array2 : array1; 

  uint_fast8_t *array[] = {which_one ? &array2 : &array1}