Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menukar std::__cxx11::string kepada std::string dalam C 11?

Bagaimana untuk Menukar std::__cxx11::string kepada std::string dalam C 11?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-17 19:00:14748semak imbas

How to Convert std::__cxx11::string to std::string in C  11?

Menukar std::__cxx11::string kepada std::string

Dalam C , apabila menggunakan C 11 bersama perpustakaan yang tidak dikonfigurasikan untuk standard, penukaran jenis menjadi perlu . Khususnya, menukar std::__cxx11::string kepada std::string selalunya diperlukan.

Pernyataan Masalah:

Sebelum ini, percubaan untuk melakukan penukaran ini menggunakan binaan seperti (rentetan) telah gagal, membawa kepada ralat pemaut yang serupa kepada:

undefined reference to `H5::CompType::insertMember(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&amp;, unsigned long, H5::DataType const&amp;) const'

Penyelesaian:

Isu ini mungkin timbul apabila menggunakan GCC 5 dan cuba memautkan fail objek yang disusun dengan nilai berbeza untuk makro _GLIBCXX_USE_CXX11_ABI. Untuk menyelesaikan masalah ini, takrifkan semula makro seperti berikut:

#define _GLIBCXX_USE_CXX11_ABI 0

Letakkan takrifan ini sebelum sebarang kemasukan pengepala perpustakaan standard dalam kod anda.

Atas ialah kandungan terperinci Bagaimana untuk Menukar std::__cxx11::string kepada std::string dalam C 11?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn