Вопросы по теме 'function-pointers'

Как я могу определить указатель функции, который принимает функцию своего собственного типа в качестве аргумента?
Пример: функция, которая принимает функцию (которая принимает функцию (это...) и целое число) и целое число. typedef void(*Func)(void (*)(void (*)(...), int), int); Он взрывается рекурсивно, где (...) . Есть ли фундаментальная причина, по...
2310 просмотров
schedule 17.11.2022

Могу ли я объявить функцию, которая может принимать указатель на себя в качестве аргумента?
Читая вопрос в stackoverflow, я задался вопросом, можно ли объявить функцию, которая принимает указатель на себя. т.е. сделать такое объявление foo , для которого будет правильным следующее: foo(foo); Простейшая идея заключается в...
3685 просмотров
schedule 05.03.2024

определить псевдоним функции в VBA, возможно?
Я использую VBA для MS Access Скажем, у меня есть глобальные методы foo1 и foo2, которые получают одни и те же аргументы, но делают разные вещи. Я знаю, что в С++ я могу назначить функции псевдоним. Что-то вроде: вместо: If (term) then foo1...
5938 просмотров
schedule 10.07.2022

Указатель на функцию - автоматическое разыменование
Возможный дубликат: Как происходит разыменование указателя на функцию случаются? void myprint(char* x) { printf("%s\n", x); } int main() { char* s = "hello"; void (*test)(char*); void (*test2)(char*);...
13241 просмотров
schedule 28.06.2022

Указатели функций-членов в C++
Я пытаюсь получить логическое значение из одной из двух функций-членов. Я хотел бы вызвать функцию-член (основную), которая будет указывать на одну из двух функций-членов на основе значения, переданного в основную... вот что у меня есть до сих пор:...
231 просмотров
schedule 20.07.2022

Каков эффект приведения указателя на функцию void?
Итак, я пытаюсь написать библиотеку буферизации в 64-й раз и начинаю вникать в некоторые довольно сложные вещи. Думал, что попрошу совета профессионалов по этому поводу. В моем первом заголовочном файле у меня есть это: typedef struct...
833 просмотров

Использование параметризованных функций С++
скажем, у меня есть функция C++ int foo(int x, int y){ return x+y ; } Есть ли способ создать «параметризованную» версию этой функции? Я имею в виду, что, начиная с foo(), я хотел бы определить указатели функций, которые имеют...
1802 просмотров
schedule 16.07.2022

значение типа void (exeCallback::*)(int) не может быть присвоено объекту типа void (*)(int)
Возможный дубликат: отключение предупреждения о "плохом приведении функции" Я пытаюсь обернуть свой мозг указателями функций С++. Чтобы сохранить базовый опыт обучения, я создал пример указателя на тестовую функцию. В конце концов, я...
2628 просмотров
schedule 13.02.2024

Преобразование лямбда с предложением захвата, хранящимся в std::function, в необработанный указатель функции
Поскольку мой последний недавний вопрос был, к сожалению, сформулирован и приведен в решении другой проблемы, отличной от моей, здесь я постараюсь четко сформулировать свою актуальную проблему. Прежде чем мы начнем, в качестве примечания я...
6215 просмотров

Понимание указателей функций
int f1(){} int* f2(){} int main() { int *a;//1 int b; int *c; a=c; a=&b; int (*p)(); //2 p=f2; //showing error p=&f1; } Я ожидал, что в моей программе «2» должна вести себя аналогично «1». Почему...
264 просмотров
schedule 11.09.2022

Синтаксис указателя функции в C
Я изучаю C и, в частности, указатели функций, я думаю, что понимаю основы. Однако этот синтаксис сбивает меня с толку, я не уверен, как это читать. Я прогнал это через cdecl и пытался читать снова и снова, но я не уверен, как к этому подойти....
486 просмотров
schedule 28.12.2023

передача указателей на функции - проблема с типом
У меня есть функция, которая ожидает такие параметры void priqueue_init(priqueue_t *q, int(*comparer)(void *, void *)) Я хочу, чтобы он мог принимать аргументы любого типа. В отдельном файле я сначала набрал def typedef int...
91 просмотров
schedule 21.05.2024

Ошибка при использовании указателя функции в качестве аргумента по умолчанию для метода шаблона
Когда я пытаюсь скомпилировать этот код, я получаю следующую ошибку компилятора в Visual Studio 2012: error C2440: 'default argument' : cannot convert 'void(_cdecl*)(void)' to 'void(_cdecl*)(void)' Мой код: namespace bar {...
581 просмотров

Возвращает указатель функции на функцию, которая возвращает тот же тип
В C, как я могу объявить функцию, которая возвращает функцию, которая возвращает функцию и т. д. То есть я хочу что-то вроде этого typedef A (*A)(); A a = ... a()()()()(); Я хочу добиться следующего поведения С++: struct A { A...
1711 просмотров
schedule 14.12.2023

C++ обнаруживает существование свободной функции с явными параметрами
Я пишу некоторые черты типа, чтобы увидеть, существует ли свободная функция с определенным набором параметров. Функции имеют сигнатуру, которая выглядит примерно так: template <class T> void func( SomeClass &, SomeType const & );...
1830 просмотров

Должен ли я получать функцию по копии, ссылке или постоянной ссылке?
При определении функции, которая принимает параметр функции, должен ли я получать лямбда/ std::function путем копирования, ссылки или постоянной ссылки? Или все три?
80 просмотров

Функция члена класса как указатель функции
У меня есть класс, и одна из его функций-членов на самом деле является указателем на функцию. Таким образом, пользователь может перезаписать то, что делает эта функция. К сожалению, у меня есть некоторые трудности с запуском этой функции. Я...
520 просмотров

Как передать указатель функции на функцию.
Привет, я пытаюсь понять, как передать указатель функции на функцию, хранящуюся в структуре. Ниже приведено определение типа struct menu_item { char name[ITEM_NAME_LEN+1]; BOOLEAN (*func)(struct vm*); }; Функция, которую я пытаюсь...
74 просмотров
schedule 17.03.2024

Как определить указатель функции в текущем контексте?
Эй, я немного смущен тем, как бы я определил указатель на функцию, если мне даны следующие определения: struct menu_item { char name[ITEM_NAME_LEN+1]; BOOLEAN (*func)(struct vm*); }; То, как я определил, какие начальные переменные...
616 просмотров
schedule 03.05.2024

Как включить аргументы в указатель функции?
Как включить аргументы в указатель функции? Этот код создает указатель на функцию, который может добавить два целых числа: int addInt(int n, int m) { return n+m; } int (*functionPtr)(int,int); functionPtr = addInt; (*functionPtr)(3,5); // =...
77 просмотров
schedule 26.05.2024