2016-11-05 3 views
-2

У меня есть функция под названиемнеправильного использования пустого выражения при передаче функции в качестве параметра

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 

Я посмотрел на это выдает Link1 и Link2, которые имеют отношение, но я до сих пор не могу понять, что я делаю неправильно? Есть идеи? Спасибо

+2

дать минимальный, ПОЛНЫЙ и поддающийся проверке код –

+0

@JacekCz это структура, которую я использую, поэтому это не имеет большого смысла, если я даю полный код. но я немного обновляю его, чтобы иметь больше смысла. –

+1

: что такое GLOBAL, REC_NO. Образец не может быть скомпилирован без –

ответ

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 пропущено = =========

+0

ах я вижу спасибо @Jacek –

Смежные вопросы