0

请解释我哪里错了。我想使用指向函数的指针在几个编码实用程序之间切换。我宣布它喜欢

int (*enc_routine)();

后来我切换编码实用程序,如

enc_routine = g723_24_encoder;

实用程序本身类似于

extern int g723_24_encoder(
    int sample,
    int in_coding,
    struct g72x_state *state_ptr);

Linux 上的一切都很可爱,但现在我在 Visual Studio 2012 上,它说:

“int (*)(int sample, int in_coding, g72x_state *state_ptr)”类型的值不能分配给“int (*)()”类型的实体

感谢您的帮助(如果有的话)!

4

1 回答 1

2

您需要为函数指针声明参数。您不能声明它不带参数并将其设置为等于需要 3 个参数的函数。我很震惊它在linux上工作。

于 2013-03-27T07:24:42.227 回答