Rumah > pembangunan bahagian belakang > C++ > Bolehkah Penghurai Roh Digunakan dengan Pembolehubah `auto`?

Bolehkah Penghurai Roh Digunakan dengan Pembolehubah `auto`?

Patricia Arquette
Lepaskan: 2024-12-02 04:03:09
asal
280 orang telah melayarinya

Can Spirit Parsers Be Used with `auto` Variables?

Menetapkan Penghurai kepada Pembolehubah Auto

Soalan:

Bolehkah penghurai Spirit digunakan dengan auto?

Coretan Kod:

auto bracketed_z = '[' >> +qi::char_('z') >> ']';
Salin selepas log masuk

Apabila memberikan penghurai kepada pembolehubah automatik, seperti yang ditunjukkan di atas, kod ranap dengan kesalahan pembahagian. Walau bagaimanapun, menghantar penghurai terus kepada qi::parse() sebaris berfungsi dengan baik.

Jawapan:

Tidak, penghurai Roh tidak bertujuan untuk digunakan dengan auto dalam Spirit V2.

Penjelasan:

Templat ungkapan Proto asas memegang rujukan kepada sementara. Menetapkan penghurai kepada pembolehubah auto menyebabkan penghurai disalin, yang mungkin mengakibatkan rujukan berjuntai.

Penyelesaian:

Untuk menyelesaikan isu ini, anda boleh menggunakan kaedah berikut:

  • qi::copy() (tersedia dalam batang Boost selepas Boost 1.55.0)
  • boost::proto::deep_copy
  • BOOST_SPIRIT_AUTO

Atas ialah kandungan terperinci Bolehkah Penghurai Roh Digunakan dengan Pembolehubah `auto`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan