如何在 c++ 函数中返回数组

How to return an array in a c++ function

本文关键字:返回 数组 函数 c++      更新时间:2023-10-16
int main()
{    
std::string my_string= "16657";
std::map<std::string, std::array<std::string, 2>> m_msg_int;
std::array<std::string, 2> arrId;
arrId[0] = "ABC";
arrId[1] = "XYZ/CDE";
m_msg_int[my_string] = arrId;
get_msg_type(const std::string& msg_type);
}
const string get_msg_type(const std::string& msg_type)
{
TRC_ENTER(get_interface_and_msg_type, "")
std::map<std::string, std::array<std::string, 2>>::const_iterator it = m_msg_int.find(msg_type);
std::array<std::string, 2> intfMsg;
if (m_msg_int.end() != it)
{
intfMsg = it->second;
}
return intfMsg;
}

我对如何返回此数组并提取值感到困惑。 也许返回类型不正确?

初始化参数 'std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&&, const _Tp&( [其中 _CharT = char; _Traits = std::char_traits;

借助以下可以帮助您解决问题的代码

#include <iostream>
#include <array>
using namespace std;
array<int, 4> myFuntion(){
array<int, 4> arr = {1, 2, 3, 4};
cout << arr[3] << endl;
return arr;
}
int main()
{
array<int, 4> out = myFuntion();
cout << "output" << out[2] << endl;
return 0;
}