我正在编写一个foo()以 2const 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
为什么编译器不允许这样的操作?潜在的问题是什么?