我從破解編碼面試書中得到了這個問題。我能夠用python和java編寫這個方法。但是當我試圖用C++編寫它時,編譯器開始對我大喊大叫。我認爲問題在於,在主函數中,我有一個由模板實例化的數組,但函數採用的是原始數組。我應該如何實例化一個基本數組?原始數組與C++中的數組模板
// Given a sorted array of positive integers with an empty spot (zero) at the
// end, insert an element in sorted order.
bool sortSortedArray(size_t arrInt[], size_t x)
{
size_t indexArr{0};
size_t insertNum{x};
while (x != 0) {
if (x < arrInt[indexArr]) {
size_t swapVal = arrInt[indexArr];
arrInt[indexArr];
insertNum = swapVal;
++indexArr;
}
}
return true;
}
// Test the sortSortedArray function.
int main()
{
array<size_t, 5> testArr{1, 4, 5, 8, 0};
if (sortSortedArray(testArr, 3)) {
return 0;
}
}
'的std :: array'和內置陣列是完全獨立的類型。 – chris 2014-12-03 01:30:33
一般而言,它要求的問題是用一種類型的參數定義一個函數,並用完全不同類型的參數來調用它。 – 2014-12-03 01:33:29