Re[3]: compiler error: no appropriate default constructor av
От: rus blood Россия  
Дата: 02.04.10 15:32
Оценка:
Здравствуйте, Bender Bending Rodriguez, Вы писали:

BBR>
BBR>template<class _Ty1,
BBR>    class _Ty2>
BBR>    class _Move_operation_category<pair<_Ty1, _Ty2> >
BBR>    {    // reports true if either member of pair is _Swap_move_tag
BBR>public:
BBR>    typedef typename _If<
BBR>        _Is_swap_move<typename _Move_operation_category<
            _Ty1>>::_Move_cat>::_Value ||                /// false для класс A
BBR>        _Is_swap_move<typename _Move_operation_category<
            _Ty2>>::_Move_cat>::_Value,                  /// true для vector< int > (смотри на _Move_operation_category для вектора)
BBR>        _Swap_move_tag,
BBR>        _Undefined_move_tag>::_Result _Move_cat;            /// получаем _Swap_move_tag, что выглядит несколько странно.
BBR>    };
BBR>


BBR>Вот такие пироги.

BBR>Похоже, что пирожок был испечён SP1 для VS2008

А ты хочешь, чтобы твой pair_t::second копировался по значению???
А если там будет вектор на миллион интов?
Да в твоем внешнем векторе будет миллион пар...

Ну, переопредели тогда _Move_operation_category для своего pair_t и будет тебе "счастье"...

Может, проще все таки сделать ctor по-умолчанию?
Имею скафандр — готов путешествовать!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.