Я писал функцию foo ()
, которая принимает 2 const char *
s в качестве аргументов, pBegin
и pEnd
. foo ()
передается строка с завершающим нулем. По умолчанию pEnd
указывает на \ 0
(последний символ) строки.
void foo (const char *pBegin,
const char *pEnd = strchr(pBegin, 0)) // <--- Error
{
...
}
Однако я получаю сообщение об ошибке в строке выше:
error: local variable ‘pBegin’ may not appear in this context
Почему компилятор не разрешает такую операцию? В чем потенциальная проблема?