Сообщение адрес метода у объекта от 18.04.2017 13:16
Изменено 18.04.2017 13:17 niXman
адрес метода у объекта
сабж, как обычно, странный...
дано:
суть: хочу передать в функцию exec() что-то одно, чтоб получить тип + сигнатуру + адрес метода
т.е. что я должен сделать, чтоб использовать вызов типа exec(t.m1, 33); и при этом проиходил вызов t.m1(33);?
спасибо.
дано:
struct type {
void m0() {}
void m1(int) {}
};
template<T, typename ...Types>
void exec(T v, Types &&... args) {
v(args...);
}
int main() {
type t;
exec(t.m0);
exec(t.m1, 33);
}
суть: хочу передать в функцию exec() что-то одно, чтоб получить тип + сигнатуру + адрес метода
т.е. что я должен сделать, чтоб использовать вызов типа exec(t.m1, 33); и при этом проиходил вызов t.m1(33);?
спасибо.
адрес метода у объекта
сабж, как обычно, странный...
дано:
суть: хочу передать в функцию exec() что-то одно, чтоб получить тип + сигнатуру + адрес объекта + адрес метода
т.е. что я должен сделать, чтоб использовать вызов типа exec(t.m1, 33); и при этом проиходил вызов t.m1(33);?
спасибо.
дано:
struct type {
void m0() {}
void m1(int) {}
};
template<T, typename ...Types>
void exec(T v, Types &&... args) {
v(args...);
}
int main() {
type t;
exec(t.m0);
exec(t.m1, 33);
}
суть: хочу передать в функцию exec() что-то одно, чтоб получить тип + сигнатуру + адрес объекта + адрес метода
т.е. что я должен сделать, чтоб использовать вызов типа exec(t.m1, 33); и при этом проиходил вызов t.m1(33);?
спасибо.