unresolved external symbol "protected: unsigned char __thiscall CPersonalParameProc::ReadPersonalPsw(unsigned char const * *)const " (?ReadPersonalPsw@CPersonalParameProc@@IBEEPAPBE@Z)
Debug/KTS.exe : fatal error LNK1120: 1 unresolved externalsCPersonalParameProc 這個類是我自己編寫的類. ReadPersonalPsw(unsigned char const * *)const 這個函數定義為inline . 這裡有個問題, 如果該函數的實現寫在.h 裡面, 能夠編譯通過. 如果寫在.cpp文件裡面. 編譯通不過.錯誤如上面.該問題困擾我好久. 不知道什麼原因.因為在我自己寫的類裡面. 這個問題不是會一直存在. 而是經常出現. 大家探討一下. 是不是有什麼條件使用inline . 開始的時候我乾脆就在.h裡面完成. 但是現在我這個類有100多個這樣的inline 小函數. 寫在.h裡面實在不美觀. 這裡先謝謝大家了. 講到一點道理的得分.
Debug/KTS.exe : fatal error LNK1120: 1 unresolved externalsCPersonalParameProc 這個類是我自己編寫的類. ReadPersonalPsw(unsigned char const * *)const 這個函數定義為inline . 這裡有個問題, 如果該函數的實現寫在.h 裡面, 能夠編譯通過. 如果寫在.cpp文件裡面. 編譯通不過.錯誤如上面.該問題困擾我好久. 不知道什麼原因.因為在我自己寫的類裡面. 這個問題不是會一直存在. 而是經常出現. 大家探討一下. 是不是有什麼條件使用inline . 開始的時候我乾脆就在.h裡面完成. 但是現在我這個類有100多個這樣的inline 小函數. 寫在.h裡面實在不美觀. 這裡先謝謝大家了. 講到一點道理的得分.
public :
inline void proc();
};
inline void A::proc()
{}
inline void Foo(int x, int y); // inline仅与函数声明放在一起
void Foo(int x, int y)
{
…
}
而如下风格的函数Foo则成为内联函数:
void Foo(int x, int y);
inline void Foo(int x, int y) // inline与函数定义体放在一起
{
…
}