【发布时间】:2012-05-12 21:18:46
【问题描述】:
我正在尝试创建一个函数指针数组。
该数组将包含相当多的函数(某处介于 10 到 50 之间)。
此声明与我使用的类似:
int (*functions[15])(int, int);
我遇到的问题是我必须手动定义所有这些函数。这可以;但是我不想给他们所有人一个名字。
数组中的所有函数都不会从数组外部调用。
我知道我在这个问题上碰运气,但是有没有办法让我将匿名函数(我想类似于委托)放入这个数组中?
或者我可以使用类似这样的声明:
int (*functions[15])(int, int);
(*function[0])(int x, int y)
{
//stuff
}
(*function[1])(int x, int y)
{
//other stuff
}
如果可能的话,我也希望避免使用任何 C++11;我知道它已经进行了很多改进,但我不知道是否所有编译器都支持它(我打算跨平台使用多个编译器)。
有没有办法在不命名每个函数的情况下做到这一点,还是我不走运?
【问题讨论】:
-
许多流行的 compilers 都支持 Lambda。
标签: c++ arrays function pointers anonymous