【发布时间】:2016-04-12 12:29:01
【问题描述】:
我得到以下声明:
// file MadaPacket.h
class MadaPacket
{
// ....
public:
inline static bool word_is_header(int w);
}
并作为通讯员声明:
// file MadaPacket.cpp
#include "MadaPacket.h"
inline bool MadaPacket::word_is_header(int w)
{
return w == 0xFBBA;
}
MSVC12 builder 链接失败,原因如下:
无法解析的外部符号“public: static bool __cdecl MadaPacket::word_is_header(int)
将static 添加到定义推送错误
'static' 不应用于定义在文件范围内的成员函数
从定义中删除inline会推送错误
无法解析的外部符号“public: static bool __cdecl MadaPacket::word_is_header(int)
我想我误解了一些定义-声明的关系。
编辑
显然,如果可能的话,我希望同时拥有这两个修饰符。
【问题讨论】:
-
有点笼统的“重复”。
-
是的,这更像是一个这是答案,你现在可以关闭这个问题。