今天写代码的时候犯了一个很傻B的错误,将inline函数的声明和定义分别放到了头文件和源文件里了。
结果导致link一直出错,说找不到函数。
后来一查,发现inline函数的定义如果想给其它地方用,就必须把定义放在头文件里,或者在每个用到的地方再定义一次。
因为inline函数只是在编译时进行扩展,如果将定义放到cpp文件里,其它地方将找不到inline函数的定义。它不会像其它函数那样会link过去。
原以为这是symbian c++的特性,后来才知道是通用的,看来还是基础不够扎实!
结果导致link一直出错,说找不到函数。
后来一查,发现inline函数的定义如果想给其它地方用,就必须把定义放在头文件里,或者在每个用到的地方再定义一次。
因为inline函数只是在编译时进行扩展,如果将定义放到cpp文件里,其它地方将找不到inline函数的定义。它不会像其它函数那样会link过去。
原以为这是symbian c++的特性,后来才知道是通用的,看来还是基础不够扎实!
本文讲述了在使用inline函数时常见的一个错误:将声明与定义分开放置。这种做法会导致链接错误,因为inline函数必须在每个需要使用的地方都可见。文章强调了理解inline函数特性的必要性。
1万+

被折叠的 条评论
为什么被折叠?



