我有以下代碼:C++爲聯成員函數鏈接錯誤
IFile.h
class IFile
{
public:
IFile();
~IFile(void);
inline bool IsValidFileType() const;
};
IFile.cpp
IFile::IFile()
{
//IsValidFileType();
}
IFile::~IFile(void)
{
}
inline bool IFile::IsValidFileType() const
{
return true;
}
的main.cpp
int main(int argc, char* argv[])
{
IFile* pFile = new IFile();
pFile->IsValidFileType();
return 0;
}
當編譯代碼我收到以下錯誤:在函數引用_main
: 「布爾__thiscall的IFile :: IsValidFileType(無效)常量公開」(IsValidFileType @的IFile @@ QBE_NXZ?): 錯誤LNK2019解析的外部符號如果我改變函數的枯燥的「inline」或「const」qualiferes,或者在構造函數中調用它,程序將會complile。 你能解釋這種行爲嗎?
要將其內聯,它需要在呼叫位置可見。把它放在標題中將是修復它的一種方法 – 2013-03-01 14:43:35
「inline」並不意味着「不符合」:-( – 2013-03-01 14:43:47
請在提問之前進行搜索。有這麼多的重複項.... – JoergB 2013-03-01 14:45:34