swap()函数不对引用c ++传递的向量对象起作用

时间:2017-06-03 06:49:04

标签: function c++11 vector swap

当我尝试在函数partitionk()中使用swap()时,我收到错误

"错误:请求成员'交换' in'(& num_list) - > std :: vector< _Tp,_Alloc> :: operator []>(((std :: vector :: size_type)endn))',这是非类型' __ gnu_cxx :: __ alloc_traits> :: value_type {aka int}' | " `

var initMap =    function () {
    var labels = '0123456789';
    var labelIndex = 0;
    var myLatLng = { lat: 17.446507, lng: 78.383033, deviceId: 'a' };
    var citymap = {
         hyderabad: {
              center: { lat: 17.446507, lng: 78.383033 },
              population: 5000
         }
    };
    var map = new google.maps.Map(document.getElementById('map'), {
         zoom: 18,
         center: myLatLng,
    });
}

1 个答案:

答案 0 :(得分:0)

使用std::swap()

std::swap(num_list[endn], num_list[num]];

向量成员swap()用于交换entire vectors。您使用swap()尝试调用向量项的交换成员,即int:此类型没有swap()