Why I can't define inline member function in another file?
问题 I have three files: 1. Joy.h class Joy { public: void test(); }; 2. Joy.cpp #include "Joy.h" inline void Joy::test() {} 3. main.cpp #include "Joy.h" int main() { Joy r; r.test(); return 0; } I try to compile them using: g++ cpp Joy.cpp g++ say: main.cpp:(.text+0x10): undefined reference to `Joy::test()' Who can tell me why... How to solve this problem if I don't want to define that test() function in the .h file and still want it to be an inline function? 回答1: when you define an inline member