LNK4248 Peringatan Alat Linker
token typeref (token) yang tidak terselesaikan untuk 'type'; gambar mungkin tidak berjalan
Jenis tidak memiliki definisi dalam metadata MSIL.
LNK4248 dapat terjadi ketika hanya ada deklarasi maju untuk jenis dalam modul MSIL (dikompilasi dengan /clr), di mana jenis direferensikan dalam modul MSIL, dan di mana modul MSIL ditautkan dengan modul asli yang memiliki definisi untuk jenis tersebut.
Dalam situasi ini, linker akan memberikan definisi jenis asli dalam metadata MSIL, dan ini dapat memberikan perilaku yang benar.
Namun, jika deklarasi jenis penerusan adalah jenis CLR, definisi jenis asli linker mungkin tidak benar
Untuk informasi selengkapnya, lihat /clr (Kompilasi Runtime Bahasa Umum).
Untuk memperbaiki kesalahan ini
- Berikan definisi jenis dalam modul MSIL.
Contoh
Sampel berikut menghasilkan LNK4248. Tentukan struct A untuk diselesaikan.
// LNK4248.cpp
// compile with: /clr /W1
// LNK4248 expected
struct A;
void Test(A*){}
int main() {
Test(0);
}
Sampel berikut memiliki definisi penerusan jenis.
// 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);
}
Sampel berikut menghasilkan 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;
}
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk