关于VS2012使用make_pair编译提示“error C2664: “std::make_pair”: 不能将参数 1 从“int”转换为“int &&””

本文介绍了一个关于C++中使用std::make_pair时出现类型转换错误的问题,并提供了两种解决方案:通过预处理器宏FIX1直接构造临时对象或者通过FIX2使用标准库函数make_pair。这两种方式都能创建一个pair对象并进行类型转换。
部署运行你感兴趣的模型镜像


参照微软官方回复:

#include <iostream>
#include <ostream>
#include <string>
#include <utility>
using namespace std;

int main() {
    string ht = "hello";
    pair<double, string> ps;

#if defined(FIX1)
    ps = pair<int, string>(1, ht);
#elif defined(FIX2)
    ps = make_pair(1, ht);
#else
    ps = make_pair<int, string>(1, ht);
#endif

    cout << ps.first << " " << ps.second << endl;
}

C:\Temp>cl /EHsc /nologo /W4 kitty.cpp && kitty
kitty.cpp
kitty.cpp(16) : error C2664: 'std::make_pair' : cannot convert parameter 2 from 'std::string' to 'std::string &&'
        You cannot bind an lvalue to an rvalue reference

C:\Temp>cl /EHsc /nologo /W4 kitty.cpp /DFIX1 && kitty
kitty.cpp
1 hello

C:\Temp>cl /EHsc /nologo /W4 kitty.cpp /DFIX2 && kitty
kitty.cpp
1 hello

Both FIX1 and FIX2 construct a temporary pair<int, string>, which is then converted during assignment to pair<double, string>.

I personally recommend FIX2.

https://connect.microsoft.com/VisualStudio/feedback/details/691756/std-make-pair-error-in-vc11

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

^ /usr/include/c++/5/bits/unordered_map.h:111:46: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_data_precision> >, std::__detail::__is_noexcept_hash<raw_data_precision, std::hash<raw_data_precision> > > >’ typedef typename _Hashtable::key_equal key_equal; ^ /usr/include/c++/5/bits/unordered_map.h:112:51: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_data_precision> >, std::__detail::__is_noexcept_hash<raw_data_precision, std::hash<raw_data_precision> > > >’ typedef typename _Hashtable::allocator_type allocator_type; ^ /usr/include/c++/5/bits/unordered_map.h:117:45: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_data_precision> >, std::__detail::__is_noexcept_hash<raw_data_precision, std::hash<raw_data_precision> > > >’ typedef typename _Hashtable::pointer pointer; ^ /usr/include/c++/5/bits/unordered_map.h:118:50: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_data_precision> >, std::__detail::__is_noexcept_hash<raw_data_precision, std::hash<raw_data_precision> > > >’ typedef typename _Hashtable::const_pointer const_pointer; ^ /usr/include/c++/5/bits/unordered_map.h:119:47: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_data_precision> >, std::__detail::__is_noexcept_hash<raw_data_precision, std::hash<raw_data_precision> > > >’ typedef typename _Hashtable::reference reference; ^ /usr/include/c++/5/bits/unordered_map.h:120:52: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_data_precision> >, std::__detail::__is_noexcept_hash<raw_data_precision, std::hash<raw_data_precision> > > >’ typedef typename _Hashtable::const_reference const_reference; ^ /usr/include/c++/5/bits/unordered_map.h:121:46: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_data_precision> >, std::__detail::__is_noexcept_hash<raw_data_precision, std::hash<raw_data_precision> > > >’ typedef typename _Hashtable::iterator iterator; ^ /usr/include/c++/5/bits/unordered_map.h:122:51: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_data_precision> >, std::__detail::__is_noexcept_hash<raw_data_precision, std::hash<raw_data_precision> > > >’ typedef typename _Hashtable::const_iterator const_iterator; ^ /usr/include/c++/5/bits/unordered_map.h:123:51: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_data_precision> >, std::__detail::__is_noexcept_hash<raw_data_precision, std::hash<raw_data_precision> > > >’ typedef typename _Hashtable::local_iterator local_iterator; ^ /usr/include/c++/5/bits/unordered_map.h:124:57: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_data_precision> >, std::__detail::__is_noexcept_hash<raw_data_precision, std::hash<raw_data_precision> > > >’ typedef typename _Hashtable::const_local_iterator const_local_iterator; ^ /usr/include/c++/5/bits/unordered_map.h:125:47: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_data_precision> >, std::__detail::__is_noexcept_hash<raw_data_precision, std::hash<raw_data_precision> > > >’ typedef typename _Hashtable::size_type size_type; ^ /usr/include/c++/5/bits/unordered_map.h:126:52: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_data_precision> >, std::__detail::__is_noexcept_hash<raw_data_precision, std::hash<raw_data_precision> > > >’ typedef typename _Hashtable::difference_type difference_type; ^ /usr/include/c++/5/bits/unordered_map.h:280:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_data_precision> >, std::__detail::__is_noexcept_hash<raw_data_precision, std::hash<raw_data_precision> > > >’ operator=(initializer_list<value_type> __l) ^ /usr/include/c++/5/bits/unordered_map.h:379:2: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_data_precision> >, std::__detail::__is_noexcept_hash<raw_data_precision, std::hash<raw_data_precision> > > >’ emplace(_Args&&... __args) ^ /usr/include/c++/5/bits/unordered_map.h:432:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_data_precision> >, std::__detail::__is_noexcept_hash<raw_data_precision, std::hash<raw_data_precision> > > >’ insert(const value_type& __x) ^ /usr/include/c++/5/bits/unordered_map.h:439:2: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_data_precision> >, std::__detail::__is_noexcept_hash<raw_data_precision, std::hash<raw_data_precision> > > >’ insert(_Pair&& __x) ^ /usr/include/c++/5/bits/unordered_map.h:499:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_data_precision> >, std::__detail::__is_noexcept_hash<raw_data_precision, std::hash<raw_data_precision> > > >’ insert(initializer_list<value_type> __l) ^ /usr/include/c++/5/bits/unordered_map.h:645:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_data_precision> >, std::__detail::__is_noexcept_hash<raw_data_precision, std::hash<raw_data_precision> > > >’ equal_range(const key_type& __x) ^ /usr/include/c++/5/bits/unordered_map.h:649:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_data_precision> >, std::__detail::__is_noexcept_hash<raw_data_precision, std::hash<raw_data_precision> > > >’ equal_range(const key_type& __x) const ^ In file included from /home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/libraries/amigos/amigos_base/amigos_module_base.h:29:0, from /home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/libraries/amigos/amigos_base/amigos_module_init.h:19, from /home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/libraries/amigos_ext/modules/amigos_module_sync.cpp:19: /home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/libraries/amigos/amigos_base/amigos_module_base.h: In static member function ‘static std::__cxx11::string ss_enum_cast<raw_data_precision>::to_str(const raw_data_precision&)’: /home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/libraries/amigos/amigos_base/amigos_module_base.h:88:1: error: too many initializers for ‘const std::unordered_map<raw_data_precision, std::__cxx11::basic_string<char> >’ }); ^ /home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/../common/ss_util/ss_enum_cast.hpp:38:73: note: in definition of macro ‘SS_ENUM_CAST_STR’ static const std::unordered_map<_EnumType, std::string> m = __VA_ARGS__; \ ^ /home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/../common/ss_util/ss_enum_cast.hpp:40:25: error: ‘const class std::unordered_map<raw_data_precision, std::__cxx11::basic_string<char> >’ has no member named ‘find’ auto it = m.find(e); \ ^ /home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/libraries/amigos/amigos_base/amigos_module_base.h:81:1: note: in expansion of macro ‘SS_ENUM_CAST_STR’ SS_ENUM_CAST_STR(raw_data_precision , { ^ /home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/../common/ss_util/ss_enum_cast.hpp:41:28: error: ‘const class std::unordered_map<raw_data_precision, std::__cxx11::basic_string<char> >’ has no member named ‘end’ return it != m.end() ? it->second : "Unknown"; \ ^ /home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/libraries/amigos/amigos_base/amigos_module_base.h:81:1: note: in expansion of macro ‘SS_ENUM_CAST_STR’ SS_ENUM_CAST_STR(raw_data_precision , { ^ In file included from /usr/include/c++/5/bits/hashtable.h:35:0, from /usr/include/c++/5/unordered_map:47, from /home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/libraries/amigos/amigos_base/amigos_module_base.h:25, from /home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/libraries/amigos/amigos_base/amigos_module_init.h:19, from /home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/libraries/amigos_ext/modules/amigos_module_sync.cpp:19: /usr/include/c++/5/bits/hashtable_policy.h: In instantiation of ‘struct std::__detail::__is_noexcept_hash<raw_video_fmt, std::hash<raw_video_fmt> >’: /usr/include/c++/5/type_traits:137:12: required from ‘struct std::__and_<std::__is_fast_hash<std::hash<raw_video_fmt> >, std::__detail::__is_noexcept_hash<raw_video_fmt, std::hash<raw_video_fmt> > >’ /usr/include/c++/5/type_traits:148:38: required from ‘struct std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_video_fmt> >, std::__detail::__is_noexcept_hash<raw_video_fmt, std::hash<raw_video_fmt> > > >’ /usr/include/c++/5/bits/unordered_map.h:100:66: required from ‘class std::unordered_map<raw_video_fmt, std::__cxx11::basic_string<char> >’ /home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/libraries/amigos/amigos_base/amigos_module_base.h:107:69: required from here /usr/include/c++/5/bits/hashtable_policy.h:85:34: error: no match for call to ‘(const std::hash<raw_video_fmt>) (const raw_video_fmt&)’ noexcept(declval<const _Hash&>()(declval<const _Key&>()))> ^ In file included from /usr/include/c++/5/bits/move.h:57:0, from /usr/include/c++/5/bits/stl_pair.h:59, from /usr/include/c++/5/bits/stl_algobase.h:64, from /usr/include/c++/5/deque:60, from /usr/include/c++/5/queue:60, from /home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/libraries/amigos/amigos_base/amigos_module_base.h:20, from /home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/libraries/amigos/amigos_base/amigos_module_init.h:19, from /home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/libraries/amigos_ext/modules/amigos_module_sync.cpp:19: /usr/include/c++/5/type_traits: In instantiation of ‘struct std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_video_fmt> >, std::__detail::__is_noexcept_hash<raw_video_fmt, std::hash<raw_video_fmt> > > >’: /usr/include/c++/5/bits/unordered_map.h:100:66: required from ‘class std::unordered_map<raw_video_fmt, std::__cxx11::basic_string<char> >’ /home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/libraries/amigos/amigos_base/amigos_module_base.h:107:69: required from here /usr/include/c++/5/type_traits:148:38: error: ‘value’ is not a member of ‘std::__and_<std::__is_fast_hash<std::hash<raw_video_fmt> >, std::__detail::__is_noexcept_hash<raw_video_fmt, std::hash<raw_video_fmt> > >’ : public integral_constant<bool, !_Pp::value> ^ In file included from /usr/include/c++/5/unordered_map:48:0, from /home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/libraries/amigos/amigos_base/amigos_module_base.h:25, from /home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/libraries/amigos/amigos_base/amigos_module_init.h:19, from /home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/libraries/amigos_ext/modules/amigos_module_sync.cpp:19: /usr/include/c++/5/bits/unordered_map.h: In instantiation of ‘class std::unordered_map<raw_video_fmt, std::__cxx11::basic_string<char> >’: /home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/libraries/amigos/amigos_base/amigos_module_base.h:107:69: required from here /usr/include/c++/5/bits/unordered_map.h:100:66: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_video_fmt> >, std::__detail::__is_noexcept_hash<raw_video_fmt, std::hash<raw_video_fmt> > > >’ typedef __umap_hashtable<_Key, _Tp, _Hash, _Pred, _Alloc> _Hashtable; ^ /usr/include/c++/5/bits/unordered_map.h:107:45: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_video_fmt> >, std::__detail::__is_noexcept_hash<raw_video_fmt, std::hash<raw_video_fmt> > > >’ typedef typename _Hashtable::key_type key_type; ^ /usr/include/c++/5/bits/unordered_map.h:108:47: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_video_fmt> >, std::__detail::__is_noexcept_hash<raw_video_fmt, std::hash<raw_video_fmt> > > >’ typedef typename _Hashtable::value_type value_type; ^ /usr/include/c++/5/bits/unordered_map.h:109:48: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_video_fmt> >, std::__detail::__is_noexcept_hash<raw_video_fmt, std::hash<raw_video_fmt> > > >’ typedef typename _Hashtable::mapped_type mapped_type; ^ /usr/include/c++/5/bits/unordered_map.h:110:43: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_video_fmt> >, std::__detail::__is_noexcept_hash<raw_video_fmt, std::hash<raw_video_fmt> > > >’ typedef typename _Hashtable::hasher hasher; ^ /usr/include/c++/5/bits/unordered_map.h:111:46: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_video_fmt> >, std::__detail::__is_noexcept_hash<raw_video_fmt, std::hash<raw_video_fmt> > > >’ typedef typename _Hashtable::key_equal key_equal; ^ /usr/include/c++/5/bits/unordered_map.h:112:51: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_video_fmt> >, std::__detail::__is_noexcept_hash<raw_video_fmt, std::hash<raw_video_fmt> > > >’ typedef typename _Hashtable::allocator_type allocator_type; ^ /usr/include/c++/5/bits/unordered_map.h:117:45: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_video_fmt> >, std::__detail::__is_noexcept_hash<raw_video_fmt, std::hash<raw_video_fmt> > > >’ typedef typename _Hashtable::pointer pointer; ^ /usr/include/c++/5/bits/unordered_map.h:118:50: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_video_fmt> >, std::__detail::__is_noexcept_hash<raw_video_fmt, std::hash<raw_video_fmt> > > >’ typedef typename _Hashtable::const_pointer const_pointer; ^ /usr/include/c++/5/bits/unordered_map.h:119:47: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_video_fmt> >, std::__detail::__is_noexcept_hash<raw_video_fmt, std::hash<raw_video_fmt> > > >’ typedef typename _Hashtable::reference reference; ^ /usr/include/c++/5/bits/unordered_map.h:120:52: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_video_fmt> >, std::__detail::__is_noexcept_hash<raw_video_fmt, std::hash<raw_video_fmt> > > >’ typedef typename _Hashtable::const_reference const_reference; ^ /usr/include/c++/5/bits/unordered_map.h:121:46: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_video_fmt> >, std::__detail::__is_noexcept_hash<raw_video_fmt, std::hash<raw_video_fmt> > > >’ typedef typename _Hashtable::iterator iterator; ^ /usr/include/c++/5/bits/unordered_map.h:122:51: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_video_fmt> >, std::__detail::__is_noexcept_hash<raw_video_fmt, std::hash<raw_video_fmt> > > >’ typedef typename _Hashtable::const_iterator const_iterator; ^ /usr/include/c++/5/bits/unordered_map.h:123:51: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_video_fmt> >, std::__detail::__is_noexcept_hash<raw_video_fmt, std::hash<raw_video_fmt> > > >’ typedef typename _Hashtable::local_iterator local_iterator; ^ /usr/include/c++/5/bits/unordered_map.h:124:57: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_video_fmt> >, std::__detail::__is_noexcept_hash<raw_video_fmt, std::hash<raw_video_fmt> > > >’ typedef typename _Hashtable::const_local_iterator const_local_iterator; ^ /usr/include/c++/5/bits/unordered_map.h:125:47: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_video_fmt> >, std::__detail::__is_noexcept_hash<raw_video_fmt, std::hash<raw_video_fmt> > > >’ typedef typename _Hashtable::size_type size_type; ^ /usr/include/c++/5/bits/unordered_map.h:126:52: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_video_fmt> >, std::__detail::__is_noexcept_hash<raw_video_fmt, std::hash<raw_video_fmt> > > >’ typedef typename _Hashtable::difference_type difference_type; ^ /usr/include/c++/5/bits/unordered_map.h:280:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_video_fmt> >, std::__detail::__is_noexcept_hash<raw_video_fmt, std::hash<raw_video_fmt> > > >’ operator=(initializer_list<value_type> __l) ^ /usr/include/c++/5/bits/unordered_map.h:379:2: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_video_fmt> >, std::__detail::__is_noexcept_hash<raw_video_fmt, std::hash<raw_video_fmt> > > >’ emplace(_Args&&... __args) ^ /usr/include/c++/5/bits/unordered_map.h:432:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_video_fmt> >, std::__detail::__is_noexcept_hash<raw_video_fmt, std::hash<raw_video_fmt> > > >’ insert(const value_type& __x) ^ /usr/include/c++/5/bits/unordered_map.h:439:2: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_video_fmt> >, std::__detail::__is_noexcept_hash<raw_video_fmt, std::hash<raw_video_fmt> > > >’ insert(_Pair&& __x) ^ /usr/include/c++/5/bits/unordered_map.h:499:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_video_fmt> >, std::__detail::__is_noexcept_hash<raw_video_fmt, std::hash<raw_video_fmt> > > >’ insert(initializer_list<value_type> __l) ^ /usr/include/c++/5/bits/unordered_map.h:645:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_video_fmt> >, std::__detail::__is_noexcept_hash<raw_video_fmt, std::hash<raw_video_fmt> > > >’ equal_range(const key_type& __x) ^ /usr/include/c++/5/bits/unordered_map.h:649:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<raw_video_fmt> >, std::__detail::__is_noexcept_hash<raw_video_fmt, std::hash<raw_video_fmt> > > >’ equal_range(const key_type& __x) const ^ In file included from /home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/libraries/amigos/amigos_base/amigos_module_init.h:19:0, from /home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/libraries/amigos_ext/modules/amigos_module_sync.cpp:19: /home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/libraries/amigos/amigos_base/amigos_module_base.h: In static member function ‘static std::__cxx11::string ss_enum_cast<raw_video_fmt>::to_str(const raw_video_fmt&)’: /home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/libraries/amigos/amigos_base/amigos_module_base.h:126:9: error: too many initializers for ‘const std::unordered_map<raw_video_fmt, std::__cxx11::basic_string<char> >’ }; ^ /home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/libraries/amigos/amigos_base/amigos_module_base.h:127:21: error: ‘const class std::unordered_map<raw_video_fmt, std::__cxx11::basic_string<char> >’ has no member named ‘find’ auto it = m.find(fmt); ^ /home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/libraries/amigos/amigos_base/amigos_module_base.h:128:24: error: ‘const class std::unordered_map<raw_video_fmt, std::__cxx11::basic_string<char> >’ has no member named ‘end’ return it != m.end() ? it->second : "Unknown"; ^ /home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/build/compile.mk:114: recipe for target '/home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/libraries/amigos_ext/modules/amigos_module_rtsp.user.x86.o' failed make[12]: *** [/home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/libraries/amigos_ext/modules/amigos_module_rtsp.user.x86.o] Error 1 /home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/build/compile.mk:114: recipe for target '/home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/libraries/amigos_ext/modules/amigos_module_env_monitor.user.x86.o' failed make[12]: *** [/home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/libraries/amigos_ext/modules/amigos_module_env_monitor.user.x86.o] Error 1 /home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/build/compile.mk:114: recipe for target '/home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/libraries/amigos_ext/modules/amigos_module_sync.user.x86.o' failed make[12]: *** [/home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/libraries/amigos_ext/modules/amigos_module_sync.user.x86.o] Error 1 make[12]: Leaving directory '/home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code' Makefile:182: recipe for target 'libraries/amigos_ext_obj_all' failed make[11]: *** [libraries/amigos_ext_obj_all] Error 2 make[11]: Leaving directory '/home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code' Makefile:143: recipe for target 'depend_internal' failed make[10]: *** [depend_internal] Error 2 make[10]: Leaving directory '/home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code' Makefile:99: recipe for target 'all' failed make[9]: *** [all] Error 2 make[9]: Leaving directory '/home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code' Makefile:167: recipe for target 'applications/mixer/app_amigos/gen_code' failed make[8]: *** [applications/mixer/app_amigos/gen_code] Error 2 make[8]: Leaving directory '/home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code' applications/mixer/app_amigos/gen_code/script.mk:41: recipe for target 'script_start' failed make[7]: *** [script_start] Error 2 make[7]: Leaving directory '/home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code' Makefile:207: recipe for target 'applications/mixer/app_amigos/gen_code_script_start' failed make[6]: *** [applications/mixer/app_amigos/gen_code_script_start] Error 2 make[6]: Leaving directory '/home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code' Makefile:99: recipe for target 'all' failed make[5]: *** [all] Error 2 make[5]: Leaving directory '/home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code' makefile:46: recipe for target 'all' failed make[4]: *** [all] Error 2 make[4]: Leaving directory '/home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify' ../sdk/sdk.mk:81: recipe for target 'verify' failed make[3]: *** [verify] Error 2 make[3]: Leaving directory '/home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/project' ../sdk/sdk.mk:49: recipe for target 'sdk' failed make[2]: *** [sdk] Error 2 make[2]: Leaving directory '/home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/project' makefile:279: recipe for target 'release' failed make[1]: *** [release] Error 2 make[1]: Leaving directory '/home/tp/Project/AOV-课题/软件sdk/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/project' makefile:68: recipe for target 'image' failed make: *** [image] Error 2 问题在哪
最新发布
09-16
compile /home/tp/Project/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/libraries/amigos_ext/commands/amigos_command_base.cpp... /home/tp/Project/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/../common/stb_truetype/ss_font.cpp: In static member function ‘static SS_Font::FontFile* SS_Font::FontFile::GetIns(const string&)’: /home/tp/Project/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/../common/stb_truetype/ss_font.cpp:49:104: error: no matching function for call to ‘std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<SS_Font::FontFile> >::pair(const string&, SS_Font::FontFile*&)’ auto pair = SS_Font::FontFile::map_file_font.insert(MapFileFont::value_type(filepath, font_file)); ^ In file included from /usr/include/c++/5/bits/stl_algobase.h:64:0, from /usr/include/c++/5/bits/char_traits.h:39, from /usr/include/c++/5/string:40, from /usr/include/c++/5/bits/locale_classes.h:40, from /usr/include/c++/5/codecvt:40, from /home/tp/Project/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/../common/stb_truetype/ss_font.cpp:16: /usr/include/c++/5/bits/stl_pair.h:206:9: note: candidate: template<class ... _Args1, long unsigned int ..._Indexes1, class ... _Args2, long unsigned int ..._Indexes2> std::pair<_T1, _T2>::pair(std::tuple<_Args1 ...>&, std::tuple<_Args2 ...>&, std::_Index_tuple<_Indexes1 ...>, std::_Index_tuple<_Indexes2 ...>) pair(tuple<_Args1...>&, tuple<_Args2...>&, ^ /usr/include/c++/5/bits/stl_pair.h:206:9: note: template argument deduction/substitution failed: /home/tp/Project/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/../common/stb_truetype/ss_font.cpp:49:104: note: types ‘std::tuple<_Elements ...>’ and ‘const string {aka const std::__cxx11::basic_string<char>}’ have incompatible cv-qualifiers auto pair = SS_Font::FontFile::map_file_font.insert(MapFileFont::value_type(filepath, font_file)); ^ In file included from /usr/include/c++/5/bits/stl_algobase.h:64:0, from /usr/include/c++/5/bits/char_traits.h:39, from /usr/include/c++/5/string:40, from /usr/include/c++/5/bits/locale_classes.h:40, from /usr/include/c++/5/codecvt:40, from /home/tp/Project/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/../common/stb_truetype/ss_font.cpp:16: /usr/include/c++/5/bits/stl_pair.h:155:9: note: candidate: template<class ... _Args1, class ... _Args2> std::pair<_T1, _T2>::pair(std::piecewise_construct_t, std::tuple<_Args1 ...>, std::tuple<_Args2 ...>) pair(piecewise_construct_t, tuple<_Args1...>, tuple<_Args2...>); ^ /usr/include/c++/5/bits/stl_pair.h:155:9: note: template argument deduction/substitution failed: /home/tp/Project/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/../common/stb_truetype/ss_font.cpp:49:104: note: cannot convert ‘filepath’ (type ‘const string {aka const std::__cxx11::basic_string<char>}’) to type ‘std::piecewise_construct_t’ auto pair = SS_Font::FontFile::map_file_font.insert(MapFileFont::value_type(filepath, font_file)); ^ In file included from /usr/include/c++/5/bits/stl_algobase.h:64:0, from /usr/include/c++/5/bits/char_traits.h:39, from /usr/include/c++/5/string:40, from /usr/include/c++/5/bits/locale_classes.h:40, from /usr/include/c++/5/codecvt:40, from /home/tp/Project/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/../common/stb_truetype/ss_font.cpp:16: /usr/include/c++/5/bits/stl_pair.h:150:12: note: candidate: template<class _U1, class _U2, class> constexpr std::pair<_T1, _T2>::pair(std::pair<_U1, _U2>&&) constexpr pair(pair<_U1, _U2>&& __p) ^ /usr/include/c++/5/bits/stl_pair.h:150:12: note: template argument deduction/substitution failed: /home/tp/Project/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/../common/stb_truetype/ss_font.cpp:49:104: note: types ‘std::pair<_T1, _T2>’ and ‘const string {aka const std::__cxx11::basic_string<char>}’ have incompatible cv-qualifiers auto pair = SS_Font::FontFile::map_file_font.insert(MapFileFont::value_type(filepath, font_file)); ^ In file included from /usr/include/c++/5/bits/stl_algobase.h:64:0, from /usr/include/c++/5/bits/char_traits.h:39, from /usr/include/c++/5/string:40, from /usr/include/c++/5/bits/locale_classes.h:40, from /usr/include/c++/5/codecvt:40, from /home/tp/Project/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/../common/stb_truetype/ss_font.cpp:16: /usr/include/c++/5/bits/stl_pair.h:144:12: note: candidate: template<class _U1, class _U2, class> constexpr std::pair<_T1, _T2>::pair(_U1&&, _U2&&) constexpr pair(_U1&& __x, _U2&& __y) ^ /usr/include/c++/5/bits/stl_pair.h:144:12: note: template argument deduction/substitution failed: /usr/include/c++/5/bits/stl_pair.h:141:38: error: no type named ‘type’ in ‘struct std::enable_if<false, void>’ template<class _U1, class _U2, class = typename ^ /usr/include/c++/5/bits/stl_pair.h:138:12: note: candidate: template<class _U2, class> constexpr std::pair<_T1, _T2>::pair(const _T1&, _U2&&) constexpr pair(const _T1& __x, _U2&& __y) ^ /usr/include/c++/5/bits/stl_pair.h:138:12: note: template argument deduction/substitution failed: /usr/include/c++/5/bits/stl_pair.h:136:27: error: no type named ‘type’ in ‘struct std::enable_if<false, void>’ template<class _U2, class = typename ^ /usr/include/c++/5/bits/stl_pair.h:133:12: note: candidate: template<class _U1, class> constexpr std::pair<_T1, _T2>::pair(_U1&&, const _T2&) constexpr pair(_U1&& __x, const _T2& __y) ^ /usr/include/c++/5/bits/stl_pair.h:133:12: note: template argument deduction/substitution failed: /home/tp/Project/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/../common/stb_truetype/ss_font.cpp:49:104: note: cannot convert ‘font_file’ (type ‘SS_Font::FontFile*’) to type ‘const std::shared_ptr<SS_Font::FontFile>&’ auto pair = SS_Font::FontFile::map_file_font.insert(MapFileFont::value_type(filepath, font_file)); ^ In file included from /usr/include/c++/5/bits/stl_algobase.h:64:0, from /usr/include/c++/5/bits/char_traits.h:39, from /usr/include/c++/5/string:40, from /usr/include/c++/5/bits/locale_classes.h:40, from /usr/include/c++/5/codecvt:40, from /home/tp/Project/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/../common/stb_truetype/ss_font.cpp:16: /usr/include/c++/5/bits/stl_pair.h:128:17: note: candidate: constexpr std::pair<_T1, _T2>::pair(std::pair<_T1, _T2>&&) [with _T1 = const std::__cxx11::basic_string<char>; _T2 = std::shared_ptr<SS_Font::FontFile>] constexpr pair(pair&&) = default; ^ /usr/include/c++/5/bits/stl_pair.h:128:17: note: candidate expects 1 argument, 2 provided /usr/include/c++/5/bits/stl_pair.h:127:17: note: candidate: constexpr std::pair<_T1, _T2>::pair(const std::pair<_T1, _T2>&) [with _T1 = const std::__cxx11::basic_string<char>; _T2 = std::shared_ptr<SS_Font::FontFile>] constexpr pair(const pair&) = default; ^ /usr/include/c++/5/bits/stl_pair.h:127:17: note: candidate expects 1 argument, 2 provided /usr/include/c++/5/bits/stl_pair.h:124:12: note: candidate: template<class _U1, class _U2, class> constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) constexpr pair(const pair<_U1, _U2>& __p) ^ /usr/include/c++/5/bits/stl_pair.h:124:12: note: template argument deduction/substitution failed: /home/tp/Project/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/../common/stb_truetype/ss_font.cpp:49:104: note: ‘const string {aka const std::__cxx11::basic_string<char>}’ is not derived from ‘const std::pair<_T1, _T2>’ auto pair = SS_Font::FontFile::map_file_font.insert(MapFileFont::value_type(filepath, font_file)); ^ In file included from /usr/include/c++/5/bits/stl_algobase.h:64:0, from /usr/include/c++/5/bits/char_traits.h:39, from /usr/include/c++/5/string:40, from /usr/include/c++/5/bits/locale_classes.h:40, from /usr/include/c++/5/codecvt:40, from /home/tp/Project/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/../common/stb_truetype/ss_font.cpp:16: /usr/include/c++/5/bits/stl_pair.h:112:26: note: candidate: constexpr std::pair<_T1, _T2>::pair(const _T1&, const _T2&) [with _T1 = const std::__cxx11::basic_string<char>; _T2 = std::shared_ptr<SS_Font::FontFile>] _GLIBCXX_CONSTEXPR pair(const _T1& __a, const _T2& __b) ^ /usr/include/c++/5/bits/stl_pair.h:112:26: note: no known conversion for argument 2 from ‘SS_Font::FontFile*’ to ‘const std::shared_ptr<SS_Font::FontFile>&’ /usr/include/c++/5/bits/stl_pair.h:108:26: note: candidate: constexpr std::pair<_T1, _T2>::pair() [with _T1 = const std::__cxx11::basic_string<char>; _T2 = std::shared_ptr<SS_Font::FontFile>] _GLIBCXX_CONSTEXPR pair() ^ /usr/include/c++/5/bits/stl_pair.h:108:26: note: candidate expects 0 arguments, 2 provided /home/tp/Project/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/build/compile.mk:114: recipe for target '/home/tp/Project/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/../common/stb_truetype/ss_font.user.x86.o' failed make[12]: *** [/home/tp/Project/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/../common/stb_truetype/ss_font.user.x86.o] Error 1 make[12]: Leaving directory '/home/tp/Project/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code' Makefile:182: recipe for target '../common/stb_truetype_obj_all' failed make[11]: *** [../common/stb_truetype_obj_all] Error 2 make[11]: *** 正在等待未完成的任务.... compile /home/tp/Project/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/libraries/amigos_ext/commands/amigos_command_instance.cpp... In file included from /usr/include/c++/5/bits/hashtable.h:35:0, from /usr/include/c++/5/unordered_map:47, from /home/tp/Project/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/libraries/amigos_gencode/amigos_code_printer.h:25, from /home/tp/Project/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/libraries/amigos_gencode/amigos_gencode_anr.h:20, from /home/tp/Project/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/libraries/amigos_gencode/amigos_gencode_anr.cpp:15: /usr/include/c++/5/bits/hashtable_policy.h: In instantiation of ‘struct std::__detail::__is_noexcept_hash<stream_type, std::hash<stream_type> >’: /usr/include/c++/5/type_traits:137:12: required from ‘struct std::__and_<std::__is_fast_hash<std::hash<stream_type> >, std::__detail::__is_noexcept_hash<stream_type, std::hash<stream_type> > >’ /usr/include/c++/5/type_traits:148:38: required from ‘struct std::__not_<std::__and_<std::__is_fast_hash<std::hash<stream_type> >, std::__detail::__is_noexcept_hash<stream_type, std::hash<stream_type> > > >’ /usr/include/c++/5/bits/unordered_map.h:100:66: required from ‘class std::unordered_map<stream_type, std::__cxx11::basic_string<char> >’ /home/tp/Project/Iford_IMD00V5.1.1/Iford_IMD00V5.1.1/SourceCode/sdk/verify/sample_code/libraries/amigos/amigos_base/amigos_module_base.h:38:1: required from here /usr/include/c++/5/bits/hashtable_policy.h:85:34: error: no match for call to ‘(const std::hash<stream_type>) (const stream_type&)’ noexcept(declval<const _Hash&>()(declval<const _Key&>()))> ^ 这是MAKE输出的结果,问题在哪,工厂提供的SDK,应该不会有代码错误
09-16
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值