我有一個int數組myArray [x] [y],我希望通過引用將它傳遞給函數,但它好像需要常量邊界或一些奇怪的指針解決方法?我如何正確地做到這一點?如何在具有動態邊界時通過引用傳遞多維數組?
回答
具有自動存儲持續時間的數組始終需要編譯時常量邊界。事實上,你可以做int array[x];
其中x
不是GCC中的編譯時常量,僅僅是一個不可移植的擴展。事實上,你不能通過引用一個函數來傳遞這樣的非標準數組。
你可以通過邊界與數組一起,但使用標準容器如std::vector
要好得多。
但由於它是多維的,它不是矢量矢量嗎? – user1947180 2013-02-12 15:14:07
@ user1947180是的,它會是:'std :: vector
這是否默認將它們初始化爲0? – user1947180 2013-02-12 15:16:23
嘗試:
template<int X, int Y>
void ArrayFn(int (&in)[X][Y])
{
in[X-1][Y-1] = 666; // or whatever
}
,並調用它像:
int arr[3][3];
ArrayFn(arr);
- 1. 通過引用傳遞二維數組
- 2. 如何通過AppDomain邊界傳遞CancellationToken?
- 3. 如何通過引用傳遞數組?
- 4. 如何通過引用傳遞一個在動態分配的二維數組中的子數組?
- 5. Ç - 通過引用多維數組具有已知尺寸
- 6. 如何通過原型傳遞多維數組?
- 7. 如何通過多維動態數組在C++
- 8. 通過函數傳遞二維數組
- 9. 通過引用傳遞數組參數
- 10. 如何通過引用動態設置多維數組中的值
- 11. 通過dll邊界傳遞引用STL向量
- 12. 通過引用功能傳遞二維數組指針
- 13. 在C++中通過引用傳遞二維二維數組結構
- 14. 通過引用傳遞指針數組
- 15. Java數組傳遞通過引用
- 16. 通過引用傳遞數組
- 17. 通過引用傳遞/存儲數組?
- 18. 通過引用傳遞數組
- 19. 通過引用字符數組傳遞
- 20. 傳遞數組通過引用
- 21. 通過引用傳遞數組?
- 22. 通過引用傳遞數組
- 23. C++通過引用傳遞數組
- 24. 如何通過指針在C傳遞一個二維數組
- 25. 如何在PHP中通過引用傳遞數組元素?
- 26. 如何在C中通過引用傳遞數組?
- 27. 如何通過循環傳遞動態數組的範圍?
- 28. 傳遞多維數組C++
- 29. Lua傳遞多維數組
- 30. 如何通過值函數傳遞二維數組
我已經看過那裏,它似乎沒有編譯時,我試圖變種包括有,這是一個非常簡單的情況 – user1947180 2013-02-12 15:13:37