Member-Function-Pointers – вопросы и ответы

100
голосов
2
ответа
Я использую стороннюю библиотеку, которая требует наличия указателей на статические функции, переданные в качестве аргументов обратного вызова. Сейчас я должен сделать что-то вроде этого: static in...
5 месяцев, 3 недели назад dom_beau
64
голоса
3
ответа
В приведенном ниже коде я не могу определить способ передачи функции-члена в общий корневой поиск. #include <stdio.h> double OneDimBisector(double (*fun)(float), float a, float b, float tol){...
5 месяцев, 4 недели назад Labbedudl
118
голосов
2
ответа
Я пытаюсь написать краткий тестер для проекта, над которым я работаю. Этот тест проходит, если данная функция выдает определенный вид исключения: template <class Exception, class Return, class.....
5 месяцев, 4 недели назад 0x5453
-5
голосов
1
ответ
Я видел несколько примеров того, как сделать указатель функции к классу нестационарного класса C++ определенного типа класса. Тем не менее, я бы использовал для такого указателя, который будет рабо...
5 месяцев, 4 недели назад TeroK
64
голоса
2
ответа
У меня есть большая программа с некоторыми классами, использующая функции указатель-член. Общая структура кода: #include <iostream> using namespace std; /**** CLASS FOO ****/ class Foo { publ...
6 месяцев назад vagoberto
-6
голосов
1
ответ
Я искал в Интернете, и я нашел какое-то решение, но я не хочу менять свой код. Я хочу искать в vector<my_class *> для другого объекта, поэтому я написал это, но он не работает: static vector ...
6 месяцев назад rezza
90
голосов
2
ответа
Итак, у меня есть вариантный класс, который я недавно добавил возможность хранения данных с указателем-членом. Для этого используется следующий код. class Variant { void* _value; template <typen...
6 месяцев назад Will Custode
126
голосов
3
ответа
#include <iostream> class A { protected: void foo() {} }; class B : public A { public: void bar() { std::cout << (&A::foo) << std::endl; } }; int main() { B b; b.bar(); } Здес...
6 месяцев назад Ashot
89
голосов
4
ответа
У меня есть класс абстрактного функтора, который перегружает operator() и производные объекты, которые его реализуют. У меня есть функция (часть другого класса), которая пытается взять массив этих ...
6 месяцев назад iQ.
78
голосов
1
ответ
Прежде всего, извините за заголовок. Я не мог конденсировать то, что я пытаюсь спросить, в одну фразу: ( Я читал этот пост , и это как-то заставило меня задуматься над указателями функций. В частно...
6 месяцев назад Moritz
89
голосов
4
ответа
Я пытаюсь узнать, как вызвать эту функцию write_data(…) из функции funmain() в классе, как показано в приведенном ниже коде. (Я знаю, что эта программа работает, если я просто перечислю эти две фун...
6 месяцев назад Learner_51
89
голосов
1
ответ
Я только начал изучать указатели и как они могут работать как функции-члены. Я начал немного поиграть и в конце концов написал этот небольшой код: class Animal { private: int *itsAge = 0; int *itsW...
6 месяцев назад Jason
89
голосов
2
ответа
У меня есть базовые классы Object и Event class Object { //... }; class Event { }; И typedef для указателя функции typedef void (Object::*PF) (Event*); И несвязанный класс, в котором хранятся два у...
6 месяцев назад user4910881
78
голосов
2
ответа
Итак, я работаю над этим классом управления событиями. Я сохраняю список указателей на функции-члены подписи void (Event*) , где Event - это просто структура, которая хранит некоторые случайные дан...
6 месяцев назад Morgan
100
голосов
1
ответ
Здесь проблема: класс Factory имеет несколько нестатических функций-членов одной и той же сигнатуры, пусть их называют f1 , f2 и т.д. Я хотел бы поместить указатели на эти функции-члены в std::vect...
6 месяцев назад The Vee
77
голосов
1
ответ
У меня есть некоторые проблемы, создающие вектор обратных вызовов в c++. У меня есть интерфейс с одной функцией и 2 класса, которые реализуют этот интерфейс. Я хочу вызвать эту функцию из вектора в...
6 месяцев назад CrSe
109
голосов
4
ответа
Я хочу сохранить указатель на объект и указатель на его метод известной сигнатуры. Если я знаю класс, то этот указатель имеет тип: int (MyClass::*pt2Member)(float, char, char) Но как я могу сохрани...
6 месяцев назад Andrew
100
голосов
1
ответ
Я экспериментирую с std::invoke . Я считаю довольно простым использование указателя на функцию-член класса, объект и любые аргументы. Я пытаюсь понять, как использовать следующее с std::invoke QTex...
6 месяцев назад Petross404
90
голосов
2
ответа
В C++ скажем, что у меня есть следующий заголовочный файл: class Foo { static int func0 (int, int); static int func1 (int, int); static int func2 (int, int); static int func3 (int, int); }; Есть ли...
6 месяцев, 1 неделя назад user1093512
194
голоса
4
ответа
У меня проблема с использованием указателя на функцию в С++. Вот мой пример: #include <iostream> using namespace std; class bar { public: void (*funcP)(); }; class foo { public: bar myBar; vo...
6 месяцев, 1 неделя назад Moomin
77
голосов
2
ответа
Я хочу знать, возможно ли получить адрес функции-члена в классе, не используя имя класса для области видимости. В приведенном ниже примере, внутри main это обычный способ получения адреса, но внутр...
6 месяцев, 1 неделя назад KARTHIK M S
90
голосов
1
ответ
Я хочу передать метод-член в качестве аргумента другому методу-члену. Я исследовал это широко, но все еще не вижу, чтобы это было правильно. Мой заголовочный файл выглядит следующим образом #includ...
6 месяцев, 1 неделя назад user2970381
110
голосов
4
ответа
Я хотел бы обернуть функции-члены, соответствующие типу 'void (ClassType:: Function) (ArgType)' с шаблоном. Позже я хочу передать экземпляр ClassType в экземпляр этого шаблона и вызвать его метод w...
6 месяцев, 1 неделя назад meowsqueak
77
голосов
3
ответа
Я пытаюсь передать функцию из производного класса в функцию базового класса, которая ожидает указатель на функцию, но я получаю ошибку компилятора. [BCC32 Error] E2034 Cannot convert 'void (Bar::*)...
6 месяцев, 1 неделя назад Roddy
99
голосов
1
ответ
В настоящее время я работаю над проектом Qt, и у меня есть проблемы с SLOT. Я хочу передать указатель на функцию-член как аргумент SLOT. Для этого я объявил SLOT в своем классе, но когда я это сдел...
6 месяцев, 1 неделя назад user3429997
-6
голосов
1
ответ
Кто-нибудь знает, как объявить обобщенную форму шаблона для следующей специализации шаблона: template <template <class> class Container, class Value, class Return, Return (Container<Val...
6 месяцев, 1 неделя назад Razial
63
голоса
2
ответа
Поскольку этот вопрос, кажется, вызывает некоторые разногласия, я редактирую его, чтобы сначала показать намерение с гипотетическим синтаксисом, а затем показать реализацию. Реализация основана на ...
6 месяцев, 1 неделя назад Dennis
77
голосов
4
ответа
Может кто-нибудь, пожалуйста, помогите мне определить, где я иду не так? Я пытаюсь использовать указатели функций для функции базового класса ошибка C2064: термин не вычисляет функцию, принимающую ...
6 месяцев, 2 недели назад Chuntu_Boy
110
голосов
2
ответа
Я ищу совет по шаблону дизайна, который соответствует моим потребностям: В моем проекте на С++ один конкретный чисто-виртуальный класс будет представлять собой надмножество всех связанных функций д...
6 месяцев, 2 недели назад Ryan V. Bissell
134
голоса
2
ответа
В отличие от виртуальных функций-членов мне нужно решение, в котором функция, реализованная в каждом производном классе уровня, может быть зарегистрирована для последующего вызова базовым классом. ...
6 месяцев, 2 недели назад NoahR
63
голоса
2
ответа
Я использую визуальную студию, и я пробовал все, что мог придумать. но не знаю, почему эта часть кода генерирует ошибку, это мой код: template <class A,class B> B returnArgtype(void (A::*)(B)...
6 месяцев, 2 недели назад Ali1S232
118
голосов
3
ответа
У меня есть класс (B), который имеет статический член-указатель на объект другого класса (A). В одной функции-члена первого класса (B) мне нужен указатель на функцию, который указывает на функцию-ч...
6 месяцев, 2 недели назад user4910881
99
голосов
1
ответ
Я прочитал статью , говорящую Указатель функции-члена может быть установлен в 0 и предоставляет операторы == и! =, но только для указателей функций-членов одного и того же класса. Я пытаюсь понять ...
6 месяцев, 2 недели назад DeMarcus
64
голоса
3
ответа
Я хочу передать функции GLUT ( glutKeyboardFunc ) указатель на функцию-член ( TDisplayer.GlKeyboard ). Обратный вызов GLUT просто принимает указатель на функцию. Есть ли способ "упаковать" self-ука...
6 месяцев, 2 недели назад Epitouille
64
голоса
2
ответа
Я этот код, который, как представляется, работает: template <typename C> class class_ { protected: std::map<std::string, native_function> methods; public: template <typename F, F fn&...
6 месяцев, 2 недели назад Abe Schneider
89
голосов
2
ответа
Я знаю, что это похоже на слишком ответный вопрос, но это другое. У меня есть этот объект ActiveX, который экспортирует некоторые методы. Мне нужно установить крючок на один из его методов, а именн...
6 месяцев, 2 недели назад Marcus Geist
77
голосов
2
ответа
В этой проблеме предположим, что мы все осторожно обработали все указатели - чтобы предотвратить раздувание вопроса, я не хочу включать здесь код очистки! Пусть говорят, что у нас есть два класса: ...
6 месяцев, 3 недели назад Conduit
109
голосов
4
ответа
У меня есть класс с функциями экземпляра (или методами?). Из экземпляра я пытаюсь передать указатели на эти функции в библиотеку. Библиотека ожидает статические функции. Когда я передаю свои указат...
6 месяцев, 3 недели назад AntoineG
89
голосов
4
ответа
Я пытаюсь разработать абстракцию потока (поток и поток POSIX из Windows API), и мне бы очень хотелось, чтобы он мог запускать их с помощью указателя метода, а не указателя функции. То, что я хотел ...
6 месяцев, 3 недели назад Michael
63
голоса
1
ответ
Почему компилятор рассматривает &Foo::foo как void (*)() . Я ожидаю, что он будет рассматриваться как void(Foo::*)() вместо него, поскольку он является членом Foo . class Foo { public: static v...
6 месяцев, 3 недели назад Kolyunya
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема