#include <iostream> using namespace std; template<typename T> struct Gen { operator T() { return T{42}; } }; struct FunType { int _val; template<template<typename> class Gen> FunType(Gen<int> g) : _val{g} {} }; template<typename T, template<typename> class Gen = Gen> T JustForFun{Gen<int>()}; int main() { cout << JustForFun<FunType>._val << endl; }
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.