prog.cpp:15:19: error: no viable conversion from 'int' to 'Value<double>'
Value<double> d2 = 123;
^ ~~~
prog.cpp:4:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'int' to 'const Value<double> &' for 1st argument
class Value {
^
prog.cpp:4:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'int' to 'Value<double> &&' for 1st argument
class Value {
^
prog.cpp:9:5: note: candidate template ignored: substitution failure [with Y = int]: called object type 'int' is not a function or function pointer
Value(Y lambda ) : get( std::move( lambda ) ) {}
^
1 error generated.