Я получаю ошибку компилятора, когда пытаюсь встроить метод одного из моих классов. Это работает, когда я убираю ключевое слово "inline".
Вот упрощенный пример:
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()'
Все хорошо, если я уберу "встроенный". Что вызывает эту проблему? (и как мне встроить методы класса? Возможно ли это?)
Спасибо.