Bagaimana untuk menyelesaikan ralat sintaks C++: 'id tidak layak dijangka sebelum '<'?
Dalam pembangunan C++, kita sering menghadapi pelbagai ralat. Salah satu ralat biasa ialah 'id-tidak layak dijangka sebelum '<'. Ralat ini biasanya bermakna pengecam hilang di suatu tempat, tetapi pengkompil menemui simbol '<'. Ralat ini biasa berlaku apabila menggunakan templat atau pengaturcaraan generik.
Dalam artikel ini, kami akan membincangkan cara mengenal pasti dan membetulkan ralat sintaks ini dan memberikan beberapa contoh ralat biasa. Punca ralat ke templat Masukkan parameter yang sesuai. Ralat ini akan berlaku jika tiada parameter dihantar ke templat, atau jika parameter yang salah dihantar.
Tiada koma bertitik
Dalam sesetengah kes, ralat ini berlaku jika koma bernoktah tidak ditambahkan pada akhir penyataan.template<class T> class MyClass { public: T value; }; int main() { MyClass<int> obj; // 正确用法:给模板传入适当的参数 MyClass obj2; // 错误用法:未给模板传入参数 obj.value = 10; return 0; }
MyClass
, anda perlu memberikannya parameter templatobj
, kami berjaya menghantar parameter <int>
yang sesuai kepada templat. Tetapi apabila mencipta objek obj2
, kami tidak menghantar parameter ke templat. Dalam kes ini, pengkompil akan melaporkan ralat dan menggesa 'id tidak layak dijangka sebelum '<'. Untuk menyelesaikan ralat ini, kami hanya perlu menghantar parameter templat yang sesuai ke objek obj2
, seperti <int>
. Contoh 1 penyelesaian:
MyClass<int> obj2; // 给模板传入适当的参数
#include <iostream> int main() { std::cout << "Hello World" << std::endl return 0; }
std::cout << Tiada koma bertitik selepas << std::endl
. Dengan cara ini, pengkompil akan menggesa 'id tidak layak yang dijangkakan sebelum ralat '<'. Untuk menyelesaikan ralat ini, kami hanya menambah koma bertitik pada penghujung pernyataan. MyClass
类时,需要给它传入一个模板参数<class T>
。在创建对象obj
时,我们成功地给模板传入了一个适当的参数<int>
。但是在创建对象obj2
时,我们未给模板传入参数。这样一来,编译器就会报错并提示'expected unqualified-id before '<' token'。解决这个错误,我们只需给obj2
对象传入一个合适的模板参数,如<int>
。
示例一解决方法:
std::cout << "Hello World" << std::endl; // 添加分号
在上述示例中,在输出语句std::cout << "Hello World" << std::endl
Contoh 2 Penyelesaian:
3 Ringkasan
Dalam pembangunan C++, ralat 'tak layak yang dijangkakan sebelum '<' ialah ralat sintaks yang biasa. Ia biasanya disebabkan oleh kehilangan parameter templat atau koma bertitik hilang. Dengan menyemak kod dengan teliti dan menambah parameter atau koma bertitik yang sesuai di mana masalahnya, kami berjaya menyelesaikan ralat ini.
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan ralat sintaks C++: 'id tidak layak dijangka sebelum token '<'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!