首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

如何定义和声明函数数组,多谢

2012-02-21 
求助:怎么定义和声明函数数组,谢谢!请教:是这样:在 a.h 文件里void f1()void f2()void f3()void f()在

求助:怎么定义和声明函数数组,谢谢!
请教: 
是这样: 
在 a.h 文件里 
void f1(); 
void f2(); 
void f3(); 
void f(); 

在 a.cpp 里 

void f1() 



void f2() 



void f3() 



void f() 

  f1(); 
  f2(); 
  f3(); 


我想 把 f1() , f2() , f3() 
弄成 一个数组  

void f() 

 int i = 0; 
 for (i = 0; i < 3; i++) 
  { 
  f1_3(i); 
  } 



各位大哥 
void f1_3 这个数组函数应该怎么声明和定义啊? 

谢谢!

[解决办法]
好像没有什么函数数组吧,不过可以用函数指针,形成指针数组。
[解决办法]
typedef void (__stdcall* PFUNC)();

void f1();
void f2();
void f3();
PFUNC funcArray[]={f1, f2, f3};

[解决办法]
给个例子,也是抄人家的:
写5个函数: 
void print();
void copy();
void delete();
void quit();
void help();
然后用一个函数指针数组把他们存在一起:
void (*p[])() = {print, copy, delete, quit, help};
然后根据用户入0,1,2,3,4来直接叫函数
cin >> index;
p[index]();

[解决办法]
同 红猪........
[解决办法]

C/C++ code
typedef void (__cdecl* PFUNC)(); void f1(){TRACE("function 1");}void f2(){TRACE("function 2");} void f3(){TRACE("function 3");} PFUNC funcArray[]={f1, f2, f3}; for(int i=0; i<3; i++){  // call the function array  funcArray[i]();}
[解决办法]

typedef void (__stdcall* PFUNC)(); 

void f1(); 
void f2(); 
void f3(); 
PFUNC funcArray[]={f1, f2, f3};
[解决办法]
一个是栈上分配的,还有是在堆上分配的,一般的局部变量都是在栈上分配的,不用释放,用new或是malloc动态获得的空间就是在堆上的,要自己释放。
[解决办法]
只有 new 和 malloc 才需要释放,是吗?
==========
应该是这样的。

热点排行