2011-11-08 25 views

回答

0

無功能需要數組在C++中的說法,陣列衰減到指針,所以是的,這是同樣的事情或多或少在這裏。

+2

不正確,你可以通過引用來取數組,然後它不會衰減。 –

+0

'模板 void函數(INT(陣列)[長度]);'雖然,從技術上說,這是通過引用,這是不_technically_一樣的... –

+0

你正在做數組的引用,那麼。不是數組。 –

1

數組參數,例如int arr[],是 本質上是 與指向第一個元素的指針相同。因此,將指針傳遞給整數並且長度爲1,並且可以使單個整數與數組一樣出現。

+0

罷工「本質上」。這是相同的。編譯器將數組參數重寫爲指針參數。 – fredoverflow

6

取決於參數的類型。

void function(int param[]); //you can pass a int* 
void function(int param[7]); //you can pass a int* 
void function(int (&param)[7]); //you CANNOT pass a int* 
+0

非常感謝,互聯網人。我知道數組和指針之間的關係,我只是不確定我在做什麼的合法性。 –

+0

不快,你可​​以通過_any_'INT *'前兩個,即使他們指向'INT [100]','INT [2]',甚至'NULL'! –

相關問題