powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / C++ [игнор отключен] [закрыт для гостей] / Параметризация шаблона методом класса, но без сигнатуры
3 сообщений из 3, страница 1 из 1
Параметризация шаблона методом класса, но без сигнатуры
    #39990832
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот так примерно:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
struct Foo
{
    void something(int) {}
};

template <class T, void (T::*M)(int)>
struct Bar
{
};


Но тут у шаблона "Bar" шаблонный параметр "M" имеет сигнатуру "(int)". А нужно что бы не имел параметр "M" сигнатуры.

Возможно ли? :)
...
Рейтинг: 0 / 0
Параметризация шаблона методом класса, но без сигнатуры
    #39990858
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
struct Foo
{
    void something(int) {}
};

template <class T, class M, M m>
struct Bar
{
    template <typename ... Args>
    void operator()(T& t, Args ... args)
    {
        (t.*m)(args...);
    }
};

int main()
{
    Bar<Foo, decltype(&Foo::something), &Foo::something> b;
    Foo f;
    b(f, 1);
    return 0;
}
...
Рейтинг: 0 / 0
Параметризация шаблона методом класса, но без сигнатуры
    #39990908
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovsky,

Спасибо большое. :)
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Параметризация шаблона методом класса, но без сигнатуры
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]