NB 이것은 인라인 함수를 사용하는 방법이나 작동 방식에 대한 질문이 아닙니다.
클래스 멤버 함수의 선언은 함수를로 정의 할 필요가 없으며 함수 inline
의 실제 구현 일뿐입니다. 예를 들어, 헤더 파일에서 :
struct foo{
void bar(); // no need to define this as inline
}
그렇다면 클래스 함수의 인라인 구현이 헤더 파일에 있어야 하는 이유는 무엇입니까? 인라인 기능을 .cpp
파일에 넣을 수없는 이유는 무엇 입니까? 인라인 정의를 .cpp
파일 에 넣으려고하면 다음 과 같은 오류가 발생합니다.
error LNK2019: unresolved external symbol
"public: void __thiscall foo::bar(void)"
(?bar@foo@@QAEXXZ) referenced in function _main
1>C:\Users\Me\Documents\Visual Studio 2012\Projects\inline\Debug\inline.exe
: fatal error LNK1120: 1 unresolved externals
inline
정의에 나타날 때 상황에 대해 질문 할 수 있지만 이전 선언은 아니지만 그 반대의 경우도 마찬가지 입니다. 그렇다면 도움이 될 수 있습니다. stackoverflow.com/questions/4924912/…