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

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条)

报告相同问题?

悬赏问题

  • ¥15 QQ邮箱过期怎么恢复?
  • ¥15 登录他人的vue项目显示服务器错误
  • ¥15 (标签-android|关键词-app)
  • ¥60 如何批量获取json的url
  • ¥15 comsol仿真压阻传感器
  • ¥15 Python线性规划函数optimize.linprog求解为整数
  • ¥15 llama3中文版微调
  • ¥15 pg数据库导入数据序列重复
  • ¥15 三分类机器学习模型可视化分析
  • ¥15 本地测试网站127.0.0.1 已拒绝连接,如何解决?(标签-ubuntu)