fork(1) डाउनलोड
  1. #include <functional>
  2. #include <iostream>
  3. #include <regex>
  4. #include <string>
  5.  
  6. using namespace std;
  7.  
  8. int main()
  9. {
  10. string const input = "The quick brown fox.";
  11. std::regex const words("[^\\s]+");
  12.  
  13. auto f = std::mem_fn(&std::smatch::str);
  14. std::sregex_iterator i = std::sregex_iterator(input.begin(), input.end(), words);
  15. std::smatch m = *i;
  16.  
  17. string first_word = f(m);
  18.  
  19. return 0;
  20. }
संकलन त्रुटि #stdin संकलन त्रुटि #stdout 0s 0KB
stdin
Standard input is empty
संकलन सूचना
prog.cpp: In function 'int main()':
prog.cpp:17:25: error: no match for call to '(std::_Mem_fn<std::basic_string<char> (std::match_results<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> > >::*)(unsigned int) const>) (std::smatch&)'
  string first_word = f(m);
                         ^
In file included from prog.cpp:1:0:
/usr/include/c++/5/functional:582:2: note: candidate: template<class ... _Args, class _Req> std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::result_type std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::operator()(std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::_Class&, _Args&& ...) const [with _Args = {_Args ...}; _Req = _Req; _MemFunPtr = std::basic_string<char> (std::match_results<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> > >::*)(unsigned int) const; bool __is_mem_fn = true]
  operator()(_Class& __object, _Args&&... __args) const
  ^
/usr/include/c++/5/functional:582:2: note:   template argument deduction/substitution failed:
/usr/include/c++/5/functional:589:2: note: candidate: template<class ... _Args, class _Req> std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::result_type std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::operator()(std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::_Class&&, _Args&& ...) const [with _Args = {_Args ...}; _Req = _Req; _MemFunPtr = std::basic_string<char> (std::match_results<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> > >::*)(unsigned int) const; bool __is_mem_fn = true]
  operator()(_Class&& __object, _Args&&... __args) const
  ^
/usr/include/c++/5/functional:589:2: note:   template argument deduction/substitution failed:
prog.cpp:17:25: note:   cannot convert 'm' (type 'std::smatch {aka std::match_results<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> > >}') to type 'std::_Mem_fn_base<std::basic_string<char> (std::match_results<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> > >::*)(unsigned int) const, true>::_Class&& {aka const std::match_results<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> > >&&}'
  string first_word = f(m);
                         ^
In file included from prog.cpp:1:0:
/usr/include/c++/5/functional:599:2: note: candidate: template<class ... _Args, class _Req> std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::result_type std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::operator()(std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::_Class*, _Args&& ...) const [with _Args = {_Args ...}; _Req = _Req; _MemFunPtr = std::basic_string<char> (std::match_results<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> > >::*)(unsigned int) const; bool __is_mem_fn = true]
  operator()(_Class* __object, _Args&&... __args) const
  ^
/usr/include/c++/5/functional:599:2: note:   template argument deduction/substitution failed:
prog.cpp:17:25: note:   cannot convert 'm' (type 'std::smatch {aka std::match_results<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> > >}') to type 'std::_Mem_fn_base<std::basic_string<char> (std::match_results<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> > >::*)(unsigned int) const, true>::_Class* {aka const std::match_results<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> > >*}'
  string first_word = f(m);
                         ^
In file included from prog.cpp:1:0:
/usr/include/c++/5/functional:607:2: note: candidate: template<class _Tp, class ... _Args, class _Req> std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::result_type std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::operator()(_Tp&&, _Args&& ...) const [with _Tp = _Tp; _Args = {_Args ...}; _Req = _Req; _MemFunPtr = std::basic_string<char> (std::match_results<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> > >::*)(unsigned int) const; bool __is_mem_fn = true]
  operator()(_Tp&& __object, _Args&&... __args) const
  ^
/usr/include/c++/5/functional:607:2: note:   template argument deduction/substitution failed:
/usr/include/c++/5/functional:618:2: note: candidate: template<class _Tp, class ... _Args, class _Req> std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::result_type std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::operator()(std::reference_wrapper<_Tp>, _Args&& ...) const [with _Tp = _Tp; _Args = {_Args ...}; _Req = _Req; _MemFunPtr = std::basic_string<char> (std::match_results<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> > >::*)(unsigned int) const; bool __is_mem_fn = true]
  operator()(reference_wrapper<_Tp> __ref, _Args&&... __args) const
  ^
/usr/include/c++/5/functional:618:2: note:   template argument deduction/substitution failed:
prog.cpp:17:25: note:   'std::match_results<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char> > >' is not derived from 'std::reference_wrapper<_Tp>'
  string first_word = f(m);
                         ^
stdout
Standard output is empty