Programming 版 (精华区)
发信人: JJason (总统~~), 信区: Programming
标 题: [合集]函数参数的问题!!十万火急!!!(转载)
发信站: 哈工大紫丁香 (2003年03月10日10:17:00 星期一), 站内信件
────────────────────────────────────────
jingbo (竞博) 于 2002年12月16日12:11:54 星期一 说道:
被调用的函数形式为:
void AA(int a[],.......)
我在调用的程序中传给这个函数的参数是个动态指定的大小的数组:
int* id=new int[10]
然后调用函数AA:
AA(id,......)
编译通过,链接时出错,提示AA(int*,....)是一个不存在的函数。
不知为什么,是不是数组参数形式不对?被调用函数的参数形式不能
改变。不知这个问题如何解决???
────────────────────────────────────────
boycool (灌吧灌吧不是罪) 于 2002年12月16日12:23:53 星期一 说道:
【 在 jingbo (竞博) 的大作中提到: 】
: 被调用的函数形式为:
: void AA(int a[],.......)
: 我在调用的程序中传给这个函数的参数是个动态指定的大小的数组:
: int* id=new int[10]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~int id[10];
仅供参考
另有它法
: 然后调用函数AA:
: AA(id,......)
: 编译通过,链接时出错,提示AA(int*,....)是一个不存在的函数。
: 不知为什么,是不是数组参数形式不对?被调用函数的参数形式不能
: 改变。不知这个问题如何解决???
────────────────────────────────────────
jingbo (竞博) 于 2002年12月16日12:44:11 星期一 说道:
数组大小必须动态确定
【 在 boycool (灌吧灌吧不是罪) 的大作中提到: 】
: 【 在 jingbo (竞博) 的大作中提到: 】
: : 被调用的函数形式为:
: : void AA(int a[],.......)
: : 我在调用的程序中传给这个函数的参数是个动态指定的大小的数组:
: : int* id=new int[10]
: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~int id[10];
: 仅供参考
: 另有它法
────────────────────────────────────────
myCyber (大伟) 于 Mon Dec 16 12:48:39 2002) 说道:
【 在 jingbo (竞博) 的大作中提到: 】
: 被调用的函数形式为:
: void AA(int a[],.......)
: 我在调用的程序中传给这个函数的参数是个动态指定的大小的数组:
: int* id=new int[10]
: 然后调用函数AA:
: AA(id,......)
: 编译通过,链接时出错,提示AA(int*,....)是一个不存在的函数。
: 不知为什么,是不是数组参数形式不对?被调用函数的参数形式不能
: 改变。不知这个问题如何解决???
void AA( int * );
void main()
{
int *id = new int[10];
AA(id);
}
void AA( int a[] )
{
return ;
}
以上程序至少没错
────────────────────────────────────────
myCyber (大伟) 于 Mon Dec 16 13:04:16 2002) 说道:
void AA( int * );
void main()
{
int s = 10;
int *id = new int[s];
//对数组初始化...
AA(id , s);
}
void AA( int a[] , int n)
{
//对数组操作 ...
return ;
}
数组可以是动态的
────────────────────────────────────────
charlie (飞龙在天) 于 2002年12月16日16:13:59 星期一 说道:
我在vc6。0里面测试了没有问题,下面是源程序:
#include <iostream>
using namespace std;
void function( int a[], int iSize )
{
for( int i=0 ; i<iSize ; i++ )
cout<<a[i]<<endl ;
}
//extern void functionSix( int a[], int iSize ) ;
int main()
{
int* a = new int[10] ;
for( int i=0 ; i<10 ; i++ )
a[i] = i + 10 ;
function( a, 10 ) ;
return 0 ;
}
【 在 jingbo (竞博) 的大作中提到: 】
: 被调用的函数形式为:
: void AA(int a[],.......)
: 我在调用的程序中传给这个函数的参数是个动态指定的大小的数组:
: int* id=new int[10]
: 然后调用函数AA:
: AA(id,......)
: 编译通过,链接时出错,提示AA(int*,....)是一个不存在的函数。
: 不知为什么,是不是数组参数形式不对?被调用函数的参数形式不能
: 改变。不知这个问题如何解决???
────────────────────────────────────────
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.635毫秒