将函数作为参数传递时无效使用void表达式

时间:2016-11-05 07:29:51

标签: c

我有一个名为

的函数
GLOBAL char* GET_Enum(REC_NO  recNo )
{
  .....
}

我也有一个将此功能作为此输入的功能

static void Dropdowns( char* param , 
                       char* title, 
                       char* (*enumFunction)(REC_NO),
                       int maxRecNo)
{
 .....
} 

然后我称这个函数为

Dropdowns("test", "Location", GET_Enum, 3);

但是它没有编译并且给我下面的错误:

 error: invalid use of void expression

我看过这些问题Link1Link2哪些相关,但我仍然看不出我做错了什么?任何的想法?感谢

1 个答案:

答案 0 :(得分:2)

似乎您在其他地方有错误,或者向我们提供错误的其他信息。

代码(有解释)编译得很好,MSVC 2015

#include "stdafx.h"

static char* GET_Enum(char  recNo[14] )
{
    return NULL;
}

static void Dropdowns(char* param,
    char* title,
    char* (*enumFunction)(char[14]),
    int maxRecNo)
{
}
int main()
{
    Dropdowns("test", "Location", GET_Enum, 3);
    return 0;
}

==========构建:1成功,0失败,0最新,0跳过==========

相关问题