亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將對二維數組的引用傳遞給函數?

如何將對二維數組的引用傳遞給函數?

C++
慕沐林林 2019-10-19 16:10:24
我試圖將對二維數組的引用傳遞給C ++中的函數。我知道在編譯時這兩個維度的大小。這是我現在所擁有的:const int board_width = 80;const int board_height = 80;void do_something(int[board_width][board_height]& array);  //function prototype但這是行不通的。我從g ++收到此錯誤:error: expected ‘,’ or ‘...’ before ‘*’ token此錯誤是什么意思,我該如何解決?
查看完整描述

3 回答

?
慕無忌1623718

TA貢獻1744條經驗 獲得超4個贊

盡管您可以將引用傳遞給數組,但是由于數組在未綁定到引用參數的情況下會衰減為函數調用中的指針,并且您可以像數組一樣使用指針,因此更常見的是在函數調用中使用數組,如下所示:


void ModifyArray( int arr[][80] ); 

或同等


void ModifyArray( int (*arr)[80] );

在函數內部,可以像使用函數聲明一樣使用arr:


void ModifyArray( int (&arr)[80][80] );

這種情況唯一不成立的情況是當被調用函數需要靜態檢查第一個數組索引的大小的保證。


查看完整回答
反對 回復 2019-10-19
?
牛魔王的故事

TA貢獻1830條經驗 獲得超3個贊

您可能要嘗試使用cdecl或c ++ decl。


% c++decl

c++decl> declare i as reference to array 8 of array 12 of int

int (&i)[8][12]

c++decl> explain int (&i)[8][12]

declare i as reference to array 8 of array 12 of int

c++decl> exit


查看完整回答
反對 回復 2019-10-19
  • 3 回答
  • 0 關注
  • 1389 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號