해결되지 않은 토큰 'token'
참조가 메타데이터를 통해 있다는 점을 제외하고 정의되지 않은 외부 오류와 유사합니다. 메타데이터에서 모든 함수와 데이터를 정의해야 합니다.
이 문제를 해결하려면 다음을 수행합니다.
누락된 함수 또는 데이터 정의 또는
누락된 함수 또는 데이터가 이미 정의된 개체 파일 또는 라이브러리를 포함합니다.
예제
다음 샘플에서는 LNK2020 생성합니다.
// LNK2020.cpp
// compile with: /clr /LD
ref struct A {
A(int x); // LNK2020
static int f(); // LNK2020
};
// OK
ref struct B {
B(int x) {}
static int f() { return 0; }
};
관리되는 템플릿 형식의 변수를 만들지만 형식을 인스턴스화하지 않는 경우에도 LNK2020 발생합니다.
다음 샘플에서는 LNK2020 생성합니다.
// LNK2020_b.cpp
// compile with: /clr
template <typename T>
ref struct Base {
virtual void f1() {}
};
template <typename T>
ref struct Base2 {
virtual void f1() {}
};
int main() {
Base<int>^ p; // LNK2020
Base2<int>^ p2 = gcnew Base2<int>(); // OK
}