Я писал функцию foo()
, которая принимает 2 const char*
с в качестве аргументов, 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
Почему компилятор не разрешает такую операцию? В чем потенциальная проблема?