I was writing a function foo()
which takes 2 const char*
s as arguments, pBegin
and pEnd
. foo()
is passed a null terminated string. By default pEnd
points to \0
(last character) of the string.
void foo (const char *pBegin,
const char *pEnd = strchr(pBegin, 0)) // <--- Error
{
...
}
However, I get an error at above line as:
error: local variable ‘pBegin’ may not appear in this context
Why compiler doesn't allow such operation ? What's the potential problem ?