クラスのメソッドをインライン化しようとするとコンパイラエラーが発生します。それは私が "インライン"キーワードを取り除くときに機能します。C++のインラインクラスのメソッドによって未定義の参照が発生する
ここでは簡単な例です:
main.cppに:
#include "my_class.h"
int main() {
MyClass c;
c.TestMethod();
return 0;
}
がmy_class.h:
class MyClass {
public:
void TestMethod();
};
my_class.cpp:
#include "my_class.h"
inline void MyClass::TestMethod() {
}
私はでコンパイルしてみてください。
g++ main.cpp my_class.cpp
私はエラーを取得する:私は "インライン" を奪う場合
main.cpp:(.text+0xd): undefined reference to `MyClass::TestMethod()'
すべてが正常です。この問題の原因は何ですか? (クラスメソッドのインライン化はどうすれば可能ですか?)
ありがとう。
このリンクは、「このサーバー上の要求されたファイルにアクセスする権限がありません。」というエラーページが表示されます。 –