extern int no_symbol;
constexpr float MyMin (float a, float b)
{
return a != a ? throw (no_symbol)
: (a < b ? a : b) ;
}
int main()
{
constexpr float m0 { MyMin(2.0f, 3.0f) }; // OK
float f1 { 2.0f };
float m1 { MyMin(f1, 3.0f) }; // linker error: undefined "no_symbol"
}
ZXh0ZXJuIGludCBub19zeW1ib2w7Cgpjb25zdGV4cHIgZmxvYXQgTXlNaW4gKGZsb2F0IGEsIGZsb2F0IGIpCiB7CiAgIHJldHVybiBhICE9IGEgPyB0aHJvdyAobm9fc3ltYm9sKQogICAgICAgICAgICAgICAgIDogKGEgPCBiID8gYSA6IGIpIDsKIH0KCmludCBtYWluKCkKIHsKICAgY29uc3RleHByICBmbG9hdCAgbTAgeyBNeU1pbigyLjBmLCAzLjBmKSB9OyAvLyBPSwoKICAgZmxvYXQgIGYxIHsgMi4wZiB9OwoKICAgZmxvYXQgIG0xIHsgTXlNaW4oZjEsIDMuMGYpIH07ICAvLyBsaW5rZXIgZXJyb3I6IHVuZGVmaW5lZCAibm9fc3ltYm9sIgogfQ==