Bagikan melalui


Compiler Error C2733

Anda tidak dapat membebani fungsi dengan tautan 'C'

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

Sampel berikut menghasilkan C2733:

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

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

Baca juga

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