Can someone help me understand why this code works for g++ 17 but not on g++ 20?
# | User | Rating |
---|---|---|
1 | tourist | 3993 |
2 | jiangly | 3743 |
3 | orzdevinwang | 3707 |
4 | Radewoosh | 3627 |
5 | jqdai0815 | 3620 |
6 | Benq | 3564 |
7 | Kevin114514 | 3443 |
8 | ksun48 | 3434 |
9 | Rewinding | 3397 |
10 | Um_nik | 3396 |
# | User | Contrib. |
---|---|---|
1 | cry | 167 |
2 | Um_nik | 163 |
3 | maomao90 | 162 |
3 | atcoder_official | 162 |
5 | adamant | 159 |
6 | -is-this-fft- | 158 |
7 | awoo | 156 |
8 | TheScrasse | 154 |
9 | Dominater069 | 153 |
9 | nor | 153 |
Can someone help me understand why this code works for g++ 17 but not on g++ 20?
Name |
---|
Auto comment: topic has been updated by Bourbon_Man (previous revision, new revision, compare).
The error is at
int dfs
, you don't return anything. You should change it tovoid dfs
.It worked. But isn't this the kind of error that should be specified during compilation? Why does it give an error during runtime?
This can be found in the compiler warnings:
no return statement in function returning non-void [-Wreturn-type]
. It causes undefined behavior: https://stackoverflow.com/questions/4815819/c-return-value-without-return-statement. On my machine, it outputsIllegal instruction
.