Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <functional>
- template<typename T>
- struct dimension {
- T v_;
- };
- template<typename T, typename F = std::function<T(T)>>
- T drawfield(dimension<T> src, F func = [](T v){return v;}) {
- return func(src.v_);
- }
- int main() {
- const auto a = drawfield(dimension<int>{3});
- std::cout << "a: " << a << std::endl;
- const auto b = drawfield(dimension<int>{4}, [](int v) { return v*2; });
- std::cout << "b: " << b << std::endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement