读书人

内联函数头文件定义有关问题

发布时间: 2012-04-26 14:01:31 作者: rapoo

内联函数头文件定义问题
问一下.内联函数定义要放在头文件中.

"内联函数有可能在程序中定义不止一次,"必须保证在所有源文件中,其定义完全相同

"内联函数有可能在程序中定义不止一次",这句话是什么意思?

[解决办法]
不一定非要放到头文件中吧
"内联函数有可能在程序中定义不止一次",这句话是什么意思?
可以在一个程序中定义多个内联函数
我这么理解的
[解决办法]

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

"内联函数有可能在程序中定义不止一次,"必须保证在所有源文件中,其定义完全相同

"内联函数有可能在程序中定义不止一次",这句话是什么意思?

读书人网 >C++

热点推荐