Код: Выделить всё
/builddir/build/BUILD/openvibe-1.1.0-src/plugins/processing/network-io/src/box-algorithms/ovpCBoxAlgorithmSharedMemoryWriter.cpp:57:110: error: no matching function for call to 'make_pair(OpenViBEPlugins::FileReadingAndWriting::ShmString&, OpenViBE::CIdentifier&)'
l_vMetaInfoVector->insert(std::make_pair<const ShmString,CIdentifier>(l_sShmVariableName,l_oTypeIdentifier));
^
In file included from /usr/include/c++/6.0.0/bits/stl_algobase.h:64:0,
from /usr/include/c++/6.0.0/bits/char_traits.h:39,
from /usr/include/c++/6.0.0/string:40,
from /builddir/build/BUILD/openvibe-1.1.0-src/modules/xml/include/xml/IXMLNode.h:5,
from /builddir/build/BUILD/openvibe-1.1.0-src/toolkit/include/toolkit/algorithms/classification/ovtkCAlgorithmClassifier.h:10,
from /builddir/build/BUILD/openvibe-1.1.0-src/toolkit/include/toolkit/ovtk_all.h:77,
from /builddir/build/BUILD/openvibe-1.1.0-src/plugins/processing/network-io/src/box-algorithms/ovpCBoxAlgorithmSharedMemoryWriter.h:8,
from /builddir/build/BUILD/openvibe-1.1.0-src/plugins/processing/network-io/src/box-algorithms/ovpCBoxAlgorithmSharedMemoryWriter.cpp:1:
/usr/include/c++/6.0.0/bits/stl_pair.h:406:5: note: candidate: template<class _T1, class _T2> constexpr std::pair<typename std::__decay_and_strip<_Tp>::__type, typename std::__decay_and_strip<_T2>::__type> std::make_pair(_T1&&, _T2&&)
make_pair(_T1&& __x, _T2&& __y)
^~~~~~~~~
/usr/include/c++/6.0.0/bits/stl_pair.h:406:5: note: template argument deduction/substitution failed:
/builddir/build/BUILD/openvibe-1.1.0-src/plugins/processing/network-io/src/box-algorithms/ovpCBoxAlgorithmSharedMemoryWriter.cpp:57:110: note: cannot convert 'l_sShmVariableName' (type 'OpenViBEPlugins::FileReadingAndWriting::ShmString {aka boost::container::basic_string<char, std::char_traits<char>, boost::interprocess::allocator<char, boost::interprocess::segment_manager<char, boost::interprocess::rbtree_best_fit<boost::interprocess::mutex_family>, boost::interprocess::iset_index> > >}') to type 'const boost::container::basic_string<char, std::char_traits<char>, boost::interprocess::allocator<char, boost::interprocess::segment_manager<char, boost::interprocess::rbtree_best_fit<boost::interprocess::mutex_family>, boost::interprocess::iset_index> > >&&'
l_vMetaInfoVector->insert(std::make_pair<const ShmString,CIdentifier>(l_sShmVariableName,l_oTypeIdentifier));
Самое похожее, что нагуглилось: https://bytes.com/topic/c/answers/135122-ca...char-const-char
В общем всё с указателями понятно. С ссылками, выходит, аналогично? Но главное, чего я понять не могу, это откуда там вообще берутся ссылки.
Вот код, где вылезает ошибка: https://scm.gforge.inria.fr/anonscm/gitweb?...lease-1.1.0#l57
Вот тут определение типа: https://scm.gforge.inria.fr/anonscm/gitweb?...lease-1.1.0#l44
Откуда ссылки, почему ссылки?