Ich habe eine Funktion, die einen Vektor von Zeichenfolgen verwendet, und ich habe eine Reihe dieser Zeichenfolge Vektoren in einem Vektor.Ich versuche, Inhalt eines Vektors zu einem Thread zu übergeben
Ich wollte den Vektor durchlaufen jeden Strings Vektor zu einem neuen Thread übergeben.
Im Wesentlichen die oben genannten, außer den obigen funktioniert nicht (Fehler kompilieren). Was ich glaube ist, dass ich ein std :: ref des Vektors benötige, um weiterzugeben, aber ich bin mir nicht sicher, genau, oder wie man das mit dem Iterator macht.
voller Fehler:
/usr/include/c++/4.8/functional: In instantiation of ‘struct std::_Bind_simple<void (*(std::vector<std::basic_string<char> >, std::reference_wrapper<std::vector<std::basic_string<char> > >))(std::vector<std::basic_string<char> >&, std::vector<std::basic_string<char> >&)>’:
/usr/include/c++/4.8/thread:137:47: required from ‘std::thread::thread(_Callable&&, _Args&& ...) [with _Callable = void (&)(std::vector<std::basic_string<char> >&, std::vector<std::basic_string<char> >&); _Args = {std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, std::reference_wrapper<std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >}]’
prog.cpp:199:55: required from here
/usr/include/c++/4.8/functional:1697:61: error: no type named ‘type’ in ‘class std::result_of<void (*(std::vector<std::basic_string<char> >, std::reference_wrapper<std::vector<std::basic_string<char> > >))(std::vector<std::basic_string<char> >&, std::vector<std::basic_string<char> >&)>’
typedef typename result_of<_Callable(_Args...)>::type result_type;
^
/usr/include/c++/4.8/functional:1727:9: error: no type named ‘type’ in ‘class std::result_of<void (*(std::vector<std::basic_string<char> >, std::reference_wrapper<std::vector<std::basic_string<char> > >))(std::vector<std::basic_string<char> >&, std::vector<std::basic_string<char> >&)>’
_M_invoke(_Index_tuple<_Indices...>)
^
make: *** [prog.o] Error 1
Was denkst du, dass es nicht funktioniert? – Johan
Wenn du es gesessen hast, "funktioniert nicht", was meinst du damit? Kannst du bitte etwas ausarbeiten? –
Ein Fehler, der offensichtlich zu lang für das Kommentarfeld ist. Eine Menge Dinge wie diese aber: ^ /usr/include/c++/4.8/functional:1727:9: Fehler: keine Art mit dem Namen 'Typ' in 'Klasse Std :: Ergebnis_von)) (std :: basic_string , std :: vector >> &)>‘ _M_invoke (_Index_tuple <_Indices...>) –
user3816764