简体   繁体   English

我该如何解决错误:从&#39;void&#39;转换为非标量类型&#39;std :: vector <int> 要求

[英]how can I fix the error : conversion from ‘void’ to non-scalar type ‘std::vector<int>’ requested

I get a error like this : 我收到这样的错误:

conversion from ‘void’ to non-scalar type ‘std::vector<int>’ requested

and this a function I get this error from: 这是我从以下函数得到此错误的函数:

   vector<int> concat(vector<int> vector1, vector<int> vector2)
{
     return vector1.insert(vector1.end(), vector2.begin(), vector2.end());
}

I used the insert() function from algorithm library. 我使用了算法库中的insert()函数。

The method insert returns iterator. 方法insert返回迭代器。

It has the following declaration 它具有以下声明

template <class InputIterator>
iterator insert(const_iterator position, 
                InputIterator first, InputIterator last);

The function interface is not logically consistent. 功能接口在逻辑上不一致。

Either declare the function the following way 可以通过以下方式声明函数

std::vector<int> & concat( std::vector<int> &vector1, const std::vector<int> &vector2 )
{
    vector1.insert(vector1.end(), vector2.begin(), vector2.end());
    return vector1;
}

or the following way 或以下方式

std::vector<int> concat( const std::vector<int> &vector1, const std::vector<int> &vector2 )
{
    std::vector<int> result( vector1 );
    result.insert(result.end(), vector2.begin(), vector2.end());
    return result;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 错误:请求从“无效”转换为非标量类型“ QString” - error: conversion from ‘void’ to non-scalar type ‘QString’ requested “错误:请求从&#39;int&#39;转换为非标量类型&#39;COORD&#39;” - “error: conversion from 'int' to non-scalar type 'COORD' requested” 错误:从std :: chrono :: time_point浮点型到非标量类型long int的转换 - error: conversion from std::chrono::time_point float to non-scalar type long int requested 从&#39;std :: vector转换 <AdjacencyData> (*)()&#39;为非标量类型&#39;std :: vector <AdjacencyData> 要求 - conversion from ‘std::vector<AdjacencyData> (*)()’ to non-scalar type ‘std::vector<AdjacencyData>’ requested 如何修复此错误“从 const_iterator 转换为非标量类型”? - How can I fix this error `conversion from const_iterator to non-scalar type`? DM_simtoolTest.h:39:错误:请求从“int (*)(int)”转换为非标量类型“std::string” - DM_simtoolTest.h:39: error: conversion from `int (*)(int)' to non-scalar type `std::string' requested 从'std :: string'转换为请求的非标量类型 - conversion from 'std::string' to non-scalar type requested 从“ int”转换为非标量类型“ Point” - Conversion from 'int' to non-scalar type 'Point" requested 错误:从 'main():: 转换而来<lambda()> '到非标量类型'函数<void()> ' 要求</void()></lambda()> - error: conversion from 'main()::<lambda()>' to non-scalar type 'function<void()>' requested 从请求到非标量类型的转换 - conversion from to non-scalar type requested
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM