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