内联函数头文件定义问题
问一下.内联函数定义要放在头文件中.
"内联函数有可能在程序中定义不止一次,"必须保证在所有源文件中,其定义完全相同
"内联函数有可能在程序中定义不止一次",这句话是什么意思?
[解决办法]
不一定非要放到头文件中吧
"内联函数有可能在程序中定义不止一次",这句话是什么意思?
可以在一个程序中定义多个内联函数
我这么理解的
[解决办法]
"内联函数有可能在程序中定义不止一次"你可以在a.h里定义inline int fun(){ return 1;}在 b.h里定义inline int fun(){ return 100;}当然,这是个不好的做法,所以 必须保证在所有源文件中,其定义完全相同
[解决办法]
因为inline函数编译时需要直接插入函数代码,所以不能使extern的,每个编译模块(cpp源文件)中必须包含其定义代码(不是声明)
所以"内联函数有可能在程序中定义不止一次,"就是指在每个调用inline函数的源文件中都要有inline的定义,所以把inline定义放在头文件中,需要时include就可以了。
[解决办法]