Debug: constant expected

 
long positionType(string symbol = _Symbol);

Error:

'_Symbol' - constant expected.


Can someone explain why I can't assigning it as a default value?

 
Hurrricane:

Error:

'_Symbol' - constant expected.

Can someone explain why I can't assigning it as a default value?

Because _Symbol is not a constant.

link

Formal parameters can be initialized by constants. In this case, the initializing value is considered as the default value. Parameters, next to the initialized one, must also be initialized.

At compilation stage it is not known what value _Symbol will contain.
 
Hurrricane:

Error:

'_Symbol' - constant expected.


Can someone explain why I can't assigning it as a default value?

A workaround could be something like this:

long positionType(string symbol = "")
{

symbol = (symbol == "")? _Symbol : symbol;
...