问 :c++中关于数组引用传递
想写一个函数传进两个数组,并对其值进行修改后返回。
请问如何写参数列表
我是新手希望大家帮帮我!
问题点数:50、回复次数:9Top
1 楼WingForce(初六,履霜,坚冰至。)回复于 2005-01-05 17:05:13 得分 5
template<class T1, class T2>
void fn(T1 arr1[], int arr1cnt, T2 arr2[], int arr2cnt);Top
2 楼piaozi2003()回复于 2005-01-05 17:07:07 得分 5
template<class T>
返回值类型 func(T arr_a[], size_t arr_a_size, T arr_b[], size_t arr_b_size);
或
返回值类型 func(T* arr_a, size_t arr_a_size, T* arr_b, size_t arr_b_size);Top
3 楼steedhorse(晨星)回复于 2005-01-05 17:10:07 得分 5
传数组首指针和大小。如:
void f(int* array1, int size1, int* array2, int size2)
{
……
}
调用时类似于:
int a[20];
int b[30];
……
f(a, 20, b, 30);
或者:
f(a, sizeof(a)/sizeof(int), b, sizeof(b)/sizeof(int));Top
4 楼playmud((猪头流氓)(抵制日货)(热烈庆祝火箭输球))回复于 2005-01-05 17:18:46 得分 10
#include <iostream>
using namespace std;
template<typename T1,typename T2>
int fun(T1 *arr1,int size1,T2 *arr2,int size2)
{
for(int i=0;i<size1;i++)
arr1[i]=0;
for(int i=0;i<size2;i++)
arr2[i]=1;
return 0;
}
int main()
{
int arr1[10];
for(int j=0;j<10;j++)
arr1[j]=1;
int arr2[10];
for(int j=0;j<10;j++)
arr2[j]=0;
if(!fun(arr1,10,arr2,10))
{
for(int j=0;j<10;j++)
cout<<arr1[j]<<" ";
cout<<endl;
for(int j=0;j<10;j++)
cout<<arr2[j]<<" ";
cout<<endl;
}
system("pause");
}Top
5 楼snow810211(阳光)回复于 2005-01-05 17:24:12 得分 5
void func(int array1[], int size1, int array2[], int size2)
然后你在这里面对元素操作,就好了,就像排序,Top
6 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2005-01-05 19:32:59 得分 5
传数组首地址和大小Top
7 楼8611( )回复于 2005-01-06 01:17:20 得分 5
借此宝地请教一个问题,如何向函数传递多维数组,比如5为的:Fe[10][2][3][6][21]?Top
8 楼yegaofei(踏雪而歌)回复于 2005-01-06 10:33:21 得分 5
传指针Top
9 楼diandian82(点点(nothing))回复于 2005-01-06 13:46:41 得分 5
void func(int array1[], int size1, int array2[], int size2)Top




