-3

好的,这就是我正在尝试的。我已将数组传递给函数。在返回时,我只想发送那些在数组中定义的值。例如,假设我有一个 10 的数组定义,我想在函数中只从该数组返回 5 个值。

有什么建议么!?谢谢。

示例代码:

sc_uint<8> *arrayfill(struct){
sc_uint<8> array[10];

array[1] = struct.a;
array[2] = struct.b;
...
if (struct.trigger == false){
  array[10] =0;
}
else 
{
  array[10] = struct.j;
}

return array;
}

所以现在事情就是这样,当 struct.trigger 为 false 时,我只想返回最多 9 个数组值,否则我将返回数组的所有值。这就是我无法找到解决方案的地方。

4

1 回答 1

1

我认为您可以将数组引用用作输入和输出参数,并从输入数组中提取5个元素,然后将其放入输出数组中。喜欢:

void ExtrctElemnts(const std::vector<int>& in_array, std::vector<int>& out_array){
     for(int i = 0; i < 5; i++){
          out_array.push_back(in_array.at(i));
     }
}

当然,您也可以选择 in 数组的特定元素。

于 2015-02-08T09:35:00.500 回答