Compiler Warning (level 4) C4714
fungsi 'fungsi' yang ditandai sebagai __forceinline tidak sebaris
Fungsi yang diberikan dipilih untuk ekspansi sebaris, tetapi pengkompilasi tidak melakukan inlining.
Meskipun __forceinline
merupakan indikasi yang lebih kuat untuk kompilator daripada __inline
, inlining masih dilakukan atas kebijaksanaan kompilator, tetapi tidak ada heuristik yang digunakan untuk menentukan manfaat dari inlining fungsi ini.
Dalam beberapa kasus, pengkompilasi tidak akan sebaris fungsi tertentu karena alasan mekanis. Misalnya, pengkompilasi tidak akan sebaris:
Fungsi jika akan mengakibatkan pencampuran SEH dan C++ EH.
Beberapa fungsi dengan salin objek yang dibangun diteruskan oleh nilai ketika -GX/EHs/EHa aktif.
Fungsi yang mengembalikan objek yang tidak dapat dilepaskan berdasarkan nilai ketika -GX/EHs/EHa aktif.
Fungsi dengan rakitan sebaris saat mengkompilasi tanpa -Og/Ox/O1/O2.
Fungsi dengan daftar argumen variabel.
Fungsi dengan
try
pernyataan (penanganan pengecualian C++).
Sampel berikut menghasilkan C4714:
// C4714.cpp
// compile with: /Ob1 /GX /W4
__forceinline void func1()
{
try
{
}
catch (...)
{
}
}
void func2()
{
func1(); // C4714
}
int main()
{
}
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