prog.cpp: In function ‘int main()’:
prog.cpp:11:59: error: temporary of non-literal type ‘std::vector<double>’ in a constant expression
split<std::string, std::vector<double>("hello world", " ");
^
In file included from /usr/include/c++/6/vector:64:0,
from prog.cpp:2:
/usr/include/c++/6/bits/stl_vector.h:214:11: note: ‘std::vector<double>’ is not literal because:
class vector : protected _Vector_base<_Tp, _Alloc>
^~~~~~
/usr/include/c++/6/bits/stl_vector.h:214:11: note: ‘std::vector<double>’ has a non-trivial destructor
prog.cpp:11:2: error: parse error in template argument list
split<std::string, std::vector<double>("hello world", " ");
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
prog.cpp:11:2: error: statement cannot resolve address of overloaded function