为什么这份代码存在问题
  • 板块学术版
  • 楼主dbxxx
  • 当前回复4
  • 已保存回复4
  • 发布时间2023/7/10 14:36
  • 上次更新2023/11/3 10:45:47
查看原帖
为什么这份代码存在问题
120868
dbxxx楼主2023/7/10 14:36
#include <bits/stdc++.h>

int main() {
	int q = 100;
	while (q--) {
		int a = 1;
		auto _ = std :: minmax(a, a + 1);
		std :: cout << _.second << std :: endl; // 报错
	}
	return 0;
}

C++14, O2,开启编译选项 -fsanitize=address 后,该代码会在注释的那一行报错。

而把 auto 改成 std :: pair <int, int> 或者 _.second 改成 _.first 这个问题都能得到解决。

2023/7/10 14:36
加载中...