#include <iostream>
using namespace std;
int x;
constexpr int foo(bool b ){
return b ? 123 : x;
}
int bar[foo(true)]; // ok
//int baz[foo(false)]; // size of array 'baz' is not an integral constant-expression
bool b;
//int bbb[foo(b)]; //array bound is not an integer constant before
int main() {
// your code goes here
x = 42;
cout << foo(true) <<endl;
cout << foo(false) <<endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IHg7Cgpjb25zdGV4cHIgaW50IGZvbyhib29sIGIgKXsKCXJldHVybiBiID8gMTIzIDogeDsJCn0KCmludCBiYXJbZm9vKHRydWUpXTsgLy8gb2sKCQovL2ludCBiYXpbZm9vKGZhbHNlKV07IC8vIHNpemUgb2YgYXJyYXkgJ2JheicgaXMgbm90IGFuIGludGVncmFsIGNvbnN0YW50LWV4cHJlc3Npb24KYm9vbCBiOwovL2ludCBiYmJbZm9vKGIpXTsgLy9hcnJheSBib3VuZCBpcyBub3QgYW4gaW50ZWdlciBjb25zdGFudCBiZWZvcmUKCmludCBtYWluKCkgewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJeCA9IDQyOwoKCWNvdXQgPDwgZm9vKHRydWUpIDw8ZW5kbDsKCWNvdXQgPDwgZm9vKGZhbHNlKSA8PGVuZGw7CgkKCQoJCglyZXR1cm4gMDsKfQ==