1. 在头文件包含中用了宏定义,还是会出现函数重定义的错误,表现为“error LNK2005: 已经在*.obj中定义“。
主要原因是在头文件中定义了函数。
因为对每个包含这个头文件的cpp文件而言,都要编译生成一个有这个函数实体的obj文件,对于单个文件而言没有重复定义。但对于整个工程而言,在链接的时候会因为有多个函数定义实体,而报错。
2.
1. 在头文件包含中用了宏定义,还是会出现函数重定义的错误,表现为“error LNK2005: 已经在*.obj中定义“。
主要原因是在头文件中定义了函数。
因为对每个包含这个头文件的cpp文件而言,都要编译生成一个有这个函数实体的obj文件,对于单个文件而言没有重复定义。但对于整个工程而言,在链接的时候会因为有多个函数定义实体,而报错。
2.