Just playing around a little with C++. What I really want to do is to be able to setup a function with default values defined for an array or pointer argument. To keep thing
"abc" is an expression. It happens to behave specially, different from all other expressions, when it is used to initialize a variable of type array of char.
{'a','b','c'} is not an expression but an initializer. It is only syntactically allowed in variable definitions. There, the syntax allows either an expression or a non-expression initializer, but that does not man that initializers can be used as expressions anywhere else.