Bagikan melalui


Compiler Error C2733

Anda tidak dapat membebani fungsi dengan tautan 'C'

Komentar

Lebih dari satu fungsi kelebihan beban dinyatakan dengan extern "C" tautan. Saat menggunakan "C" tautan, hanya satu bentuk fungsi tertentu yang dapat berada di luar. Karena fungsi yang kelebihan beban memiliki nama yang tidak terdekorasi yang sama, fungsi tersebut tidak dapat digunakan dengan program C.

Kesalahan ini dapat terjadi setelah peningkatan karena perubahan kesuaian di Visual Studio 2019. Mulai visual Studio 2019 versi 16.3, /Zc:externC- opsi kompilator melonggarkan pemeriksaan ini. Opsi harus datang setelah opsi apa pun /permissive- pada baris perintah.

Contoh

Contoh berikut menghasilkan C2733:

// C2733.cpp
extern "C" {
   void F1(int);
}

extern "C" {
   void F1();   // C2733
   // try the following line instead
   // void F2();
}

Lihat juga

Compiler Error C2116
extern (C++)
/Zc:externC (Gunakan aturan C++ extern "C" Standar)