bitset 迷之 RE,段错误,不知道原因,不像是数组越界
  • 板块学术版
  • 楼主robinyqc
  • 当前回复23
  • 已保存回复23
  • 发布时间2023/8/25 16:24
  • 上次更新2023/11/3 01:16:38
查看原帖
bitset 迷之 RE,段错误,不知道原因,不像是数组越界
338632
robinyqc楼主2023/8/25 16:24
#include<bitset>
#include<cstdio>
using namespace std;

template<int len=1>
void solve(int n) {
    if(n>len) {
        solve<min(len<<1,1<<26)>(n);
        return ;
    }
    bitset<len> bit;
}

int main() {
    solve(20000000);
    // solve(10000000);
    puts("fine");
    return 0;
}

这份代码,在某些地方正确(比如洛谷IDE),某些地方 RE(比如我的电脑,以及这个 online gdb(国内用户加载不出来多等一会。))

我的电脑爆的是 EXT_BAD_ACCESS,然后 online gdb 爆的是 Segmentation fault (core dumped)。

可是如果改成下面的 solve(10000000) 又可以对。为什么呢?该怎么改?

2023/8/25 16:24
加载中...