C 将函数作为参数传递时无效使用void表达式
我有一个函数叫做C 将函数作为参数传递时无效使用void表达式,c,C,我有一个函数叫做 GLOBAL char* GET_Enum(REC_NO recNo ) { ..... } 我还有一个函数,它把这个函数作为输入,如下所示 static void Dropdowns( char* param , char* title, char* (*enumFunction)(REC_NO), int maxRecNo)
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);
然后我这样调用这个函数
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
我已经研究了这些问题,哪些是相关的,但我仍然看不出我做错了什么?有什么想法吗?谢谢看来您在其他地方有错误,或者给了我们错误的附加信息 代码(带说明)编译得很好,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跳过==============提供最小、完整和可验证的code@JacekCz这是我正在使用的一个框架,所以如果我给出完整的代码,它就没有多大意义。首先:what is GLOBAL,REC_NO.Sample不能在没有Thank@JacekCz的情况下编译只需将GLOBAL改为static,REC_NO is char[14]您发布的代码很好。关于void表达式的错误来自其他方面,您没有向我们展示。啊,我明白了,谢谢@Jacek