一个函数必须在调用之前既声明又定义。
C++中函数调用前只需定义即可,声明非必须。定义函数时编译器自动处理声明,命题人故意混淆"声明"与"定义"的必要性,考察考生对C++语法细节的掌握程度。
选项A错误在于"必须既声明又定义"的绝对化表述,忽略了定义已隐含声明;命题人利用考生对声明和定义关系的模糊认识,将"定义"偷换为"定义+声明"的双重条件。
本题考查GESP四级C++模块中"函数声明与定义"知识点。命题人卡住的是考生对C++语法细节的掌握——四级考生常混淆"声明"与"定义"的必要性,误以为两者缺一不可。
看到题先想C++中函数调用的规则:函数定义包含函数声明,调用前只需定义。关键观察是"定义"已隐含"声明",无需额外声明。推演:定义函数时编译器自动处理声明,所以调用前只需定义,无需额外声明。