C++中内联函数inline的另一作用

2014-11-24 12:25:52 · 作者: · 浏览: 2

内联函数不是在调用时发生控制转移,而是在编译时将函数体嵌入在每一个调用处。


今天在coding时遇到多次定义一个函数而使ld返回错误的情况。大致过程如下:


首先,在一个头文件中定义了一个类及其实现:


test.h:


然后分别有两个文件:


a.cpp:


b.cpp:


而后,将a和b分别编译之后就会出错:





想了想,是由于分开后在a.o和b.o中都分别定义了A的fun()函数,因此会发生冲突。