Я пытаюсь следующие объявления:Как объявить функцию, возвращающую указатель на функцию возвращает указатель на INT [3]
int (*(*((*foo)(const void *))()))[3];
и
int (*(*(*foo)(const void *)()))[3];
Но компилятор дает мне ошибку :
error: 'foo' declared as function returning a function
Возможно ли вообще на C++?
Вы просите C или C++; двойные помеченные вопросы получают короткий отпор. Поскольку вы упоминаете C++, я удалил тег C (хотя в этом случае есть приличный шанс, что ответ одинаков). Языки разные; во многом отличается. –
@JonathanLeffler Я думал, что 'C++' как 'c' также использует cdecl, не так ли? – 2014-09-15 04:31:47
Вы не можете иметь массив как возвращаемый тип функции. Что вы подразумеваете под «return int [3]»? – Brian