且听下回分说 2021-05-06 15:13 采纳率: 70%
浏览 94
已采纳

c++:返回string的数组,引用时为空

string* map_signal_atp()
{
	ifstream infile;
	string path = "C:\\Users\\W\\Desktop\\DH3_Clipper_FT_2Site_teserv_V01.stil";
	infile.open(path);
	string str;
	int RunFlag = 0;
	int lines = 0;
	string map_signal[64];

	while (!infile.eof())
	{

		getline(infile, str);


		switch (RunFlag)
		{
		case 1:
			for (size_t i = 2; i < str.length(); i++)
			{
				if (str[i] == ' ')
				{
					break;
				}
				map_signal[lines] += str[i];
			}
			lines++;
			break;
		default:
			break;
		}

		if (lines == 64)
		{
			break;
		}


		string::size_type idx_map;
		idx_map = str.find("Signals {");
		if (idx_map != string::npos)
		{
			RunFlag = 1;
		}
	}
	return map_signal;
}
//map_signal[0] 为 GPOIO_0


int main()
{
	string* map_signal=new string[64];
	string dsa = *(map_signal + 0);
}

//dsa赋值时为空
  • 写回答

5条回答 默认 最新

  • 快乐鹦鹉 2021-05-06 15:39
    关注

    map_signal是函数内定义的局部变量,函数执行结束后,内存空间就被回收了,你外部想用的时候,已经物是人非啦

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥30 matlab解优化问题代码
  • ¥15 写论文,需要数据支撑
  • ¥15 identifier of an instance of 类 was altered from xx to xx错误
  • ¥100 反编译微信小游戏求指导
  • ¥15 docker模式webrtc-streamer 无法播放公网rtsp
  • ¥15 学不会递归,理解不了汉诺塔参数变化
  • ¥15 基于图神经网络的COVID-19药物筛选研究
  • ¥30 软件自定义无线电该怎样使用
  • ¥15 R语言mediation包做中介分析,直接效应和间接效应都很小,为什么?
  • ¥15 Jenkins+k8s部署slave节点offline