天天看點

inline:我應該把你放在哪?inline:我應該把你放在哪?

inline:我應該把你放在哪?

泰岩網絡工作室

吳  旻

痛苦了一個多小時的源代碼是這樣的:

Test.h頭檔案:

#pragma once

class CTest

{

public:

    CTest(void);

    ~CTest(void);

    inline int GetData();   // 我想使用inline函數

};

Test.cpp檔案

#include "Test.h"

CTest::CTest(void)

{

}

CTest::~CTest(void)

{

}

inline int CTest::GetData()

{

    return 0;

}

編譯的結果說:error LNK2019: unresolved external symbol "public: int __thiscall CTest::GetData(void)" ([email protected]@@QAEHXZ)

記得以前我也用過inline,也沒什麼問題嘛。後來試了多次,才發現類的inline函數要麼是放在類聲明裡,要麼緊跟着類聲明。兩個分開放,一個.h,一個.cpp,是沒有希望的!原因就是和類的展開方式有關。

呵呵,你還想知道的更多嗎?我不說了。

繼續閱讀