读书人

inline遇到const导致的链接异常

发布时间: 2013-08-04 18:26:16 作者: rapoo

inline遇到const导致的链接错误,

inline遇到const导致的链接错误,

class Test
{

#ifdef 某宏
public:
bool isConnected() const;
#endif;
};

实现的时候:

#ifdef 某宏
bool Test::isConnected() const
{

}

结果用这个类就提示函数: isConnected 无法解析!!1

把inline去掉就好了


[解决办法]
没看懂你说什么,不过inline与const无关。

把inline去掉后可以使用,大概你的函数实现是放在cpp文件中的吧?那样加上inline肯定会不正常。

对于类的成员函数,如果不是inline的,一定要放在cpp文件中;如果是inline的,就一定要放在头文件中(我通常会写一个xxxx_impl.hpp,在包含类的声明的头文件末尾包含进来,把所有相关的inline函数、inline成员函数、函数模板、类模板成员函数的实现以及类模板静态成员变量的定义都放在xxxx_impl.hpp里面)。

读书人网 >C++

热点推荐