클래스 중 하나의 메서드를 인라인 할 때 컴파일러 오류가 발생합니다. "인라인"키워드를 삭제하면 작동합니다.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 :
여기 단순화 예제 내가 멀리 "인라인"를 가지고가는 경우에main.cpp:(.text+0xd): undefined reference to `MyClass::TestMethod()'
모든 것이 괜찮 : 나는 오류가
g++ main.cpp my_class.cpp
:
#include "my_class.h"
inline void MyClass::TestMethod() {
}
나는 컴파일하려고합니다. 이 문제의 원인은 무엇입니까? (클래스 메소드를 어떻게 인라인해야합니까? 가능합니까?)
고마워요.
링크가 '이 서버에서 요청한 파일에 액세스 할 수있는 권한이 없습니다.'오류가있는 페이지로 연결됩니다. –