Rumah >pembangunan bahagian belakang >C++ >Selesaikan masalah 'ralat: jangkaan primer-ungkapan sebelum 'datatype'' dalam kod C++
Selesaikan masalah "ralat: jangkaan primer-ungkapan sebelum 'datatype'" dalam kod C++
Apabila menulis kod C++, kadangkala kita menemui mesej ralat "error: expected primary-expression before 'datatype'" . Ralat ini biasanya berlaku apabila kita menggunakan nama pembolehubah atau fungsi tanpa mengikut peraturan sintaks yang betul. Artikel ini akan menerangkan kepada anda punca ralat ini dan menyediakan beberapa penyelesaian.
Mula-mula, mari lihat contoh kod untuk memahami ralat ini dengan lebih baik.
#include <iostream> int main() { int x = 5; std::cout << x + std::endl; // error: expected primary-expression before 'endl' return 0; }
Dalam contoh ini, kami ingin mengeluarkan nilai pembolehubah x
ditambah dengan hasil std::endl
. Walau bagaimanapun, pengkompil akan mengadu dengan mesej ralat berikut: "error: expected primary-expression before 'endl'". x
的值加上 std::endl
的结果。然而,编译器会报错并给出以下错误消息:“error: expected primary-expression before 'endl'”。
我们可以清楚地看到,这个错误是由于我们在输出语句中没有遵循正确的语法而引起的。
该错误的原因有如下几种:
error: expected primary-expression before 'datatype'
在C++中,我们需要包含相应的头文件才能使用一些特定的数据类型和函数。如果我们忘记包含所需的头文件,编译器将无法识别特定的数据类型和函数,从而导致该错误的出现。
#include <iostream> int main() { string name = "John"; // error: expected primary-expression before 'string' std::cout << name << std::endl; return 0; }
在这个示例中,我们忘记了包含 98c455a79ddfebb79781bff588e7b37e 头文件,所以编译器无法识别 string
类型,并报错:“error: expected primary-expression before 'string'”。
解决这个问题的方法是在代码中包含所需的头文件。
#include <iostream> #include <string> int main() { std::string name = "John"; std::cout << name << std::endl; return 0; }
在修改之后,代码将能够正确编译和执行。
error: expected primary-expression before 'datatype'
在C++中,当我们使用变量或函数名称时,必须确保它们已经在代码中定义过。如果我们使用一个未定义的变量或函数名称,编译器将无法识别它,并报错:“error: expected primary-expression before 'datatype'”。
#include <iostream> int main() { int x = 5; std::cout << y << std::endl; // error: 'y' was not declared in this scope return 0; }
在这个示例中,我们尝试输出变量 y
的值。然而,变量 y
ralat: jangkaan ungkapan primer sebelum 'datatype'
#include <iostream> int main() { int x = 5; int y = 10; std::cout << y << std::endl; return 0; }Dalam contoh ini, kami terlupa untuk memasukkan fail pengepala e16aab792c943d9fbb1e2df2ac188ec2 jadi pengkompil tidak mengenali jenis
string
dan melaporkan ralat: "error: expected primary-expression before 'string '". Penyelesaian kepada masalah ini ialah dengan memasukkan fail pengepala yang diperlukan dalam kod anda. 🎜rrreee🎜Selepas pengubahsuaian, kod akan disusun dan dilaksanakan dengan betul. 🎜ralat: jangkaan ungkapan primer sebelum 'datatype'
y
. Walau bagaimanapun, pembolehubah y
tidak ditakrifkan dalam kod, jadi pengkompil tidak dapat mengenalinya dan melaporkan ralat: "ralat: 'y' tidak diisytiharkan dalam skop ini". 🎜🎜Cara untuk menyelesaikan masalah ini adalah dengan memastikan pembolehubah atau nama fungsi yang digunakan sudah ditakrifkan dalam kod. 🎜rrreee🎜Selepas pengubahsuaian, kod akan disusun dan dilaksanakan dengan betul. 🎜🎜Untuk meringkaskan, apabila kami menemui mesej ralat "ralat: ungkapan primer dijangka sebelum 'datatype'" dalam kod C++, kami perlu menyemak kemungkinan fail pengepala yang hilang dan memastikan bahawa pembolehubah atau nama fungsi yang digunakan telah ditakrifkan dalam kod . Mengikuti peraturan sintaks yang betul akan membantu menyelesaikan masalah ini supaya kod menyusun dan melaksanakan dengan betul. 🎜🎜Semoga artikel ini dapat membantu anda menyelesaikan masalah ini! 🎜Atas ialah kandungan terperinci Selesaikan masalah 'ralat: jangkaan primer-ungkapan sebelum 'datatype'' dalam kod C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!