Quantcast
Channel: Linux.org.ru: Форум
Viewing all articles
Browse latest Browse all 108333

C++: а можно ли как-либо лябду указать в параметре шаблонного класса? Да еще и typedef'ом сделать?

$
0
0

Можно ли как-либо лямбда-функцию указать в параметр шаблонного класса? Поясню, что меня интересует именно в параметр шаблона, а не указать в шаблоне тип, а в параметр метода указывать саму функцию.

Я попробовал сделать, но компилятор ругается: ошибка: lambda-expression in template-argument

template <typename I, typename T, std::function<I(const T&)>* fn >
struct TTest {
    static I index(const T& s) { return fn(s); }
};

struct TTust {
    quint32 value = 5;
};

void test() {
    TTust ss;
    qDebug() << TTest<quint32,TTust,[](const TTust& s) { return s.value; }>::index(ss);
}

 , ,


Viewing all articles
Browse latest Browse all 108333

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>