Typical C++, But Why? – MeetingC++ 2023 © Björn Fahller @
[email protected] 54/125
Dangerous defaults
enum class truncate { off, on };
enum class pad { off, on };
enum class line_feed { off, on };
void
print(std::string_view,
size_t field,
truncate trunc_,
pad pad_,
line_feed lf_ = line_feed::on);
int main()
{
print("foo", truncate::off, pad::off, line_feed::on);
}
note: initializing argument 2 of 'void print(std::string_view, size_t,
truncate, pad, line_feed)'
| void print(std::string_view, size_t field, truncate trunc_, pad pad_, line_feed lf_);
| ~~~~~~~^~~~~
~~~~~~~~~~~~~