首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2012-04-26 
内联函数头文件定义问题问一下.内联函数定义要放在头文件中.内联函数有可能在程序中定义不止一次,必须保

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

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

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

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 的帖子:
问一下.内联函数定义要放在头文件中.

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

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

热点排行