Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

請問call by referrence..

0 views
Skip to first unread message

組合語言好有趣喔!

unread,
Jan 12, 2003, 11:51:17 PM1/12/03
to
referrence 可代表物件或變數
那有陣列的用法嗎?
ex:

void disp(int &x[][])

......
..


int main(void)
{
int a[3][2];
disp(a);
......
}

--------------------------
so x為 x[3][2]==a[3][2] ???


--
[m╦╦╦╦╦
[30;47m▁▁▁▁▁ [m [0;32m ╭┘ [1;33;44mOrigin [0;32m└┘ [1;33m交大土木 [31m‧ [32m塔城楓林 [35mbbs.cv.nctu.edu.tw [0;32m└───╮ [m
[1;37;47m▌ [m [1;37;47m▌ [m [0;32m╰─┐ [1;37;41mFrom [0;32m┌──┐ [1;36mllj.Dorm8.NCTU.edu.tw [0;32m┌─────╯ [m

Please Please Me

unread,
Jan 17, 2003, 6:48:24 PM1/17/03
to
==> Llj...@bbs.cv.nctu.edu.tw (組合語言好有趣喔!) 提到:
: referrence 可代表物件或變數

: 那有陣列的用法嗎?
: ex:
: void disp(int &x[][])
: .......
: ...
: int main(void)

: {
: int a[3][2];
: disp(a);
: ......
: }
: --------------------------
: so x為 x[3][2]==a[3][2] ???
如同array,
compiler應該不了解multi-dimensional array
他只知道指標以及指標所指的記憶體大小
ie. int a[10]; //a is ptr to int
int b[10][20]; //b is ptr to int*
//b[0] is ptr to int

如果為ref of array, 則size也成為型別的一部分
(and c++ is a heavily typ checking)
ie. int (&a)[10] //a is ref of a array of 10 int
int (&b)[10][20] //b is ref of whole m-d array

會想傳入ref of array,應該是需要compiler幫你檢查
傳入(m-d)array的size有沒有錯
declare disp(int (&x)[CONST1][CONST2]) should be ok

如果你declare
disp(int (&x)[][CONST])則缺少size information
應該是不行的

如果declare的是傳array
一定要把第一層array大小設定
ie. void disp(x[][10]);


--
◎ [1;31m龍 [32m貓 [33m資 [34m訊 [35m天 [36m地 [0m( [1mbbs.mgt.ncu.edu.tw [0m)
◎[ [1;33;46mscars [0m]From: NK218-187-40-42.3-24.pl.apol.com.tw

0 new messages