一个函数为void x(int ,char ch='a'),另一个函数为void x(int),它们可以在同一个程序中定义,但不能重载,为什么?书上说,C++在同一个域中允许用同一个函数名定义多个函数,这时是函数重载。那么上面两个函数,函数名相同,又可以定义,为什么不能重载呢?