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里面)。