昨天在读一段代码时,突然发现有一个函数,使用参数调用了一个定义时没参数的函数,但在函数的定义中没有用到这个参数,奇怪的是它能够正确地编译, 不报错。后来我把参数去掉,程序没有受到影响。后来请教坤哥,他们也都认为不可能。在几番试验的情况下,发现确实能够通过编译。
坤哥说是c语言的语法检查比较低级,将参数直接丢弃了。但在c++下这样调用是不行的,会出现类似function does not take 1 parameters的错误。
我用的是VC6.0编译环境!
昨天在读一段代码时,突然发现有一个函数,使用参数调用了一个定义时没参数的函数,但在函数的定义中没有用到这个参数,奇怪的是它能够正确地编译, 不报错。后来我把参数去掉,程序没有受到影响。后来请教坤哥,他们也都认为不可能。在几番试验的情况下,发现确实能够通过编译。
坤哥说是c语言的语法检查比较低级,将参数直接丢弃了。但在c++下这样调用是不行的,会出现类似function does not take 1 parameters的错误。
我用的是VC6.0编译环境!