I have following code
static constexpr bool condition = true;
int square(int num) {
if constexpr (condition) {
return num * num;
} else {
x
return num;
}
}
int main() {
return square(3);
}
compiled with
-std=gnu++17
My assumption for
if constexpr (condition)
was that during compilation the part
} else {
x
return num;
}
get discarded and I get no error about the undefined
x
Is my understanding wrong that this 'if constexpr' is something like
#ifdef CONDITION
return num * num;
#else
x
return num;
#endif
How do I modify this code that I can compile this?
Thanks for the help
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…