求助:怎么定义和声明函数数组,谢谢!
请教:
是这样:
在 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]();
[解决办法]
同 红猪........
[解决办法]
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 才需要释放,是吗?
==========
应该是这样的。