2015-02-08 21 views
-3

確定這是我正在嘗試的。我已經將一個數組傳遞給一個函數。在返回時,我只想發送在數組中定義的那些值。例如,假設我有一個10的數組定義,我想在該函數中只返回該數組中的5個值。C++/SystemC:有沒有辦法從數組中選擇一個範圍的值? (例如,從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; 
} 

所以,現在這裏是東西,我想回到陣中只有9個高達值時,struct.trigger是假的,否則我返回數組中所有的值。這是我無法找到解決方案的地方。

+0

前五位?五個隨機挑選?五個符合某些標準?並請顯示一些代碼。 – Biffen 2015-02-08 09:31:44

+0

@Biffen:它符合隨機標準的五個。我會在下面輸入示例代碼! – Harish 2015-02-08 10:01:08

回答

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)); 
    } 
} 

當然,你也可以選擇在數組的特定元素。

+0

@Yu hao:感謝您的建議,但請猜測這可能是我答案的解決方案。請參考上面的代碼來解決我的問題。 – Harish 2015-02-08 10:11:02

相關問題