2013-10-01 45 views
0

在下面的函數中,我想以不明確的方式放置cos數組的100x100值(如數組cos [])。在調用函數時聲明向量並聲明我

void processing(std::vector<std::array<double, 100 >> & cos, int & index) 
{ 
.... 
} 

如何爲矢量做到這一點?

+0

你是什麼意思?你能儘可能多地填寫代碼,並給出程序的輸入輸出示例嗎?你卡在哪裏? –

+0

該函數的一個輸出是100 x 100雙精度值的向量。但我不想在開始時指定數值(100X100)。我的問題:如何不在聲明中指定該號碼? – MelMed

+0

'vector >&cos' –

回答

1

使用模板:

template <typename T> 
void processing(std::vector<T> & cos, int & index) 
{ 
.... 
} 

編輯看到評論後。如果你想只接受任何大小的std::array, 使用非類型模板參數:

template <std::size_t N> 
void processing(std::vector<std::array<double, N>> & cos, int & index) 
{ 

} 
+0

謝謝你了!但模板的使用會忽略值的數量以及矢量的類型嗎?我可以使用兩個模板嗎? – MelMed

+0

@MelMed:'std :: vector'和'std :: array'都有一個名爲'size()'的成員函數,它會給你容器中元素的個數。看到我的更新,它顯示了我認爲你正在尋找的東西。 –

+0

+1祝你有+2!非常感謝 – MelMed