《C++ Primer》第19章 特殊工具与技术
19.8节 固有的不可移植的特性 习题答案
练习19.26:说明下列声明语句的含义并判断它们是否合法:
extern "C" int compute(int *, int);
extern "C" double compute(double *, double);
【出题思路】
理解链接指示的声明,熟悉函数重载的使用。
【解答】
第一个声明指出:compute是一个用C语言编写的函数,该函数接受一个int*类型及一个int类型的形参,返回int型值。第二个声明指出:compute是一个用C语言编写的函数,该函数接受一个double*类型及一个double类型的形参,返回double型值。如果这两个声明单独出现,则是合法的;如果二者同时出现,则是不合法的,因为这两个compute函数构成了函数重载,而C语言是不支持函数重载的。