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毫秒