如果“函数”是分别编译的,则不会检测到不匹配,“函数”将返回一个将main视为int的双精度...根据我们所说的关于声明如何必须与定义匹配的说法,这可能似乎令人惊讶。可能会发生不匹配的原因是,如果没有函数原型,则该函数会通过其在表达式中的首次出现来隐式声明,例如
sum += "the function"(line);
如果在表达式中出现一个之前未声明的名称,并在其后加上左括号,则上下文将其声明为函数名称,假定该函数返回一个int值,并且不假设其参数成立。
对于这个模棱两可的问题,我事先表示歉意,但这意味着什么呢?
顺便说一下,这是Brian W. Kernighan和Dennis M. Ritchie的C编程语言第二版的第73页第4.3章。
当年话下
相关分类