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

Неразрешенный внешний символ с самодельным делегатом
У меня есть функция Foo , которая принимает в качестве параметра двухпараметрическую функцию: void Foo(void (*fcn)(int, int*)); Однако тип функции, которую я хочу передать ( func ), принимает только 1 параметр * . typedef void...
338 просмотров
schedule 13.09.2021

Как назначить указатель члена метода подкласса?
Моя проблема немного сложная. У меня есть один класс (e: Component), в котором есть объекты портов. Когда компонент создает объект порта, он передает один из своих методов конструктору порта. Сигнатуры методов: typedef...
1581 просмотров

C ++ 11 - Что не так с этим использованием указателя на функцию decltype?
При попытке реализовать класс Delegate с использованием вариативных шаблонов я столкнулся с проблемой, которую не могу решить: /// -------------------------------------- /// @thanks God /// Steve Reinalter /// @author Henri...
2406 просмотров

Как вызвать указатель на функцию-член из статической функции-члена?
Мне нужно получить функцию-член, вызываемую указателем стандартной функции, поэтому я попытался абстрагироваться от таких вещей: class Sample { public: virtual void doSomething(void) = 0; }; class A : public Sample { void...
204 просмотров
schedule 17.10.2021

Как llvm узнает, указывает ли указатель на функцию-член на виртуальную функцию?
После написания кода, касающегося указателя на функцию-член, и чтения Itanium ABI # Указатели на функции-члены , я понял структуру указателя на функцию-член в llvm. Но что меня поражает, так это то, как получить адрес функции с помощью указателя...
384 просмотров
schedule 19.10.2021

С++ функция ptr в unorderer_map, ошибка времени компиляции
я пытаюсь реализовать unorderer_map, который реализуется как mapped_type, я смотрел несколько примеров, которые это реализуют, но я не могу заставить его работать. вот код: #include<string> #include <unordered_map> namespace Test {...
169 просмотров
schedule 10.03.2022

Могу ли я использовать указатели функций С++, такие как действие С#?
В C++ я впервые столкнулся с указателями на функции. Я пытался использовать это, чтобы сделать его похожим на Action и Delegate в C#. Однако при объявлении указателя на функцию необходимо указывать тип класс, в котором существует функция. ex) void (A...
137 просмотров
schedule 18.03.2022

Почему адрес функции-члена так далек от бесплатных функций?
Возьмем этот пример: https://godbolt.org/z/gHqCSA #include<iostream> template<typename Return, typename... Args> std::ostream& operator <<(std::ostream& os, Return(*p)(Args...) ) { return os << (void*)p; }...
94 просмотров

Сопоставить строку с функцией класса в C++
Я пишу сцену cocos2dx на C++. Я хочу создать набор строковых направлений, основанных на нажатиях кнопок, которые будут выполняться при обновлении сцены. Проблема в том, что мне нужно сопоставить эти строки с методами класса, которые могут быть...
1523 просмотров
schedule 04.04.2022

использование списка инициализаторов карты внутри инициализатора конструктора
Попытка создать сопоставление int с указателем функции-члена и инициализировать его внутри инициализатора конструктора. Нравится: class X { using STATEFUNC = void(X::*)(int); public: X() : m{ { 1, &setState1 } } {} void...
1398 просмотров

C++: использование указателей функций с функциями-членами
Я пытаюсь передать функцию другой функции в качестве параметра, и обе они являются функциями-членами одного и того же класса. Я получаю странную ошибку, и я не могу понять, в чем проблема. Вот мои функции: void myClass::functionToPass() {...
3049 просмотров

Замена void в качестве параметра шаблонного метода
В моем коде у меня есть класс, который регистрирует методы других классов: #include <iostream> using namespace std; template< typename C> class Reg { public: template< typename R, typename A> void register_f(...
298 просмотров

Как хэшировать и сравнивать указатель на функцию-член?
Как я могу хэшировать (std::tr1::hash или boost::hash) функцию указателя на член С++? Пример: У меня есть несколько логических (Class::*functionPointer)() (не статических), которые указывают на несколько разных методов класса Class, и мне нужно...
4114 просмотров

Указатель функции, указывающий на функцию-член
У меня возникли проблемы с созданием простого старого указателя на функцию и назначением его функции-члену из объекта myclass obj . Я скопировал образец ниже, class myclass { public: myclass() { i = 38; } int i; void func() { cout <<...
363 просмотров

почему я не могу указать указатель на функцию-член класса Derived на то же самое, но на класс Base?
Мне кажется совершенно безопасным приведение void(Derived::*)() к void(Base::*)() , как в этом коде: #include <iostream> #include <typeinfo> using namespace std; struct Base{ void(Base::*any_method)(); void call_it(){...
1938 просмотров
schedule 05.07.2022

Указатель FILE действует иначе как параметр функции в C
В следующем коде я создал указатель char и указатель FILE и попытался передать их функции «по значению, конечно». #include <stdio.h> #include <string.h> #include <stdlib.h> void move(char *s){ ++s; } void moveF(FILE *f){...
374 просмотров

Функция более высокого порядка, примененная к массиву
У меня есть вектор определенного типа класса; vector<Song> database; а также class Song { public: string getName() const; string getSinger() const; unsigned int getLength(); unsigned short getYear() const; private:...
52 просмотров

Функция шаблона, принимающая общий указатель на функцию-член для реализаций как const&, так и по значению
Я хочу иметь шаблонную функцию, которая принимает унарные указатели функций-членов экземпляра некоторого универсального типа. Моя проблема в том, что я должен поддерживать функции-члены void(T val) и void(const T& val). Я написал одну шаблонную...
58 просмотров

Неопределенный символ, доступ к функции-члену с помощью указателя C++
Я хотел бы получить доступ к функциям-членам моего основного класса с помощью указателя из класса в библиотеке. У меня есть доступ к общедоступным переменным в моем основном классе. Но когда я пытаюсь получить доступ к функциям-членам...
259 просмотров

Проблема с указателем на функцию-член
В коде ниже (см. комментарий): #include "stdafx.h" #include <iostream> using std::cout; struct Base { void fnc() { cout << "Base::fnc()"; } }; struct Impl { void* data_; Impl(void (Base::*fp)()) { fp();//HERE I'M INVOKING...
1090 просмотров
schedule 02.09.2022