如果2个头文件包含相同的功能怎么办

问题描述

如果2个头文件包含具有相同声明的相同函数,并且我将两个头文件都包含在我的c程序中并且我已经调用了common方法,那会怎样呢?

解决方法

简短的回答:编译器将生成重新定义错误。 当您请求使用头文件时,您告诉预处理器在声明的位置(#include“”)添加头文件的代码。因此,当包含两个头文件(每个头文件包含相同的函数声明)时,编译器将看到两个相同的声明并产生错误。 有关头文件的教程:https://www.tutorialspoint.com/cprogramming/c_header_files.htm

,

如果声明相同,则不会发生任何事情。该程序将按预期进行编译和运行。

如果标头中包含函数的定义,则会发生编译器重新定义错误。

如果声明相同但实现不同并且在不同的文件中,则会发生链接器错误。