Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
nierozwiązany token typeref (token) dla "type"; obraz może nie zostać uruchomiony
Uwagi
Typ nie ma definicji w metadanych MSIL.
LNK4248 może wystąpić, gdy istnieje tylko deklaracja przesyłania dalej dla typu w module MSIL (skompilowanym z /clr), gdzie typ jest przywołytyny w module MSIL i gdzie moduł MSIL jest połączony z modułem natywnym, który ma definicję typu.
W takiej sytuacji konsolidator udostępni natywną definicję typu w metadanych MSIL i może to zapewnić prawidłowe zachowanie.
Jeśli jednak deklaracja typu do przodu jest typem CLR, definicja typu natywnego konsolidatora może nie być poprawna
Aby uzyskać więcej informacji, zobacz /clr (kompilacja środowiska uruchomieniowego języka wspólnego).
Aby poprawić ten błąd
- Podaj definicję typu w module MSIL.
Przykłady
Poniższy przykład generuje LNK4248. Zdefiniuj strukturę A, aby rozwiązać problem.
// LNK4248.cpp
// compile with: /clr /W1
// LNK4248 expected
struct A;
void Test(A*){}
int main() {
Test(0);
}
Poniższy przykład zawiera wstępną definicję typu.
// LNK4248_2.cpp
// compile with: /clr /c
class A; // provide a definition for A here to resolve
A * newA();
int valueA(A * a);
int main() {
A * a = newA();
return valueA(a);
}
Poniższy przykład generuje LNK4248.
// LNK4248_3.cpp
// compile with: /c
// post-build command: link LNK4248_2.obj LNK4248_3.obj
class A {
public:
int b;
};
A* newA() {
return new A;
}
int valueA(A * a) {
return (int)a;
}