1

我正在尝试制作一个函数指针数组。

该数组将具有相当多的功能(某处在 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;我知道已经对它进行了很多改进,但我不知道是否所有编译器都支持它(我打算跨平台使用多个编译器)。

有没有办法在不命名每个函数的情况下做到这一点,还是我不走运?

4

1 回答 1

1

如果没有匿名函数,您需要命名您的函数。在 C++11 之前没有其他选择。

于 2012-05-12T21:20:59.063 回答