Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Selesaikan masalah "ralat: jujukan selongsong dijangka sebelum 'jenis data'" dalam kod C++

Selesaikan masalah "ralat: jujukan selongsong dijangka sebelum 'jenis data'" dalam kod C++

WBOY
WBOYasal
2023-08-26 10:13:45614semak imbas

解决C++代码中出现的“error: expected casing-sequence before 'datatype'”问题

Selesaikan masalah "error: expected casing-sequence before 'datatype'" dalam kod C++

Dalam proses menulis kod C++, kita sering menghadapi pelbagai mesej ralat, salah satu ralat biasa ialah "error: expected casing -urutan sebelum 'datatype'". Ralat ini biasanya berlaku apabila menggunakan jenis data atau kelas tersuai, dan ini bermakna pengkompil tidak dapat mengecam nama jenis data atau kelas tertentu.

Untuk menyelesaikan masalah ini, kita perlu memikirkan dahulu apa yang menyebabkan ralat ini. Secara umumnya, ralat ini disebabkan oleh situasi berikut:

  1. Fail pengepala tidak diperkenalkan dengan betul
  2. Nama kelas atau jenis data tersilap ejaan
  3. Terdapat konflik antara pembolehubah atau fungsi dengan nama yang sama
  4. Pengisytiharan kelas atau jenis data Susunan yang salah

Di bawah kami menggunakan beberapa contoh kod untuk menggambarkan cara menyelesaikan masalah ini:

  1. Fail pengepala tidak diperkenalkan dengan betul
#include <iostream>

int main() {
  // 假设我们在这里使用了一个自定义的数据类型Point
  Point p;
  // ...
  return 0;
}

Dalam kod di atas, kami ingin menggunakan jenis data tersuai Point, tetapi terlupa Memperkenalkan fail pengepala yang sepadan. Pada masa ini, pengkompil akan melaporkan ralat dan menggesa "ralat: jujukan selongsong dijangka sebelum 'Titik'" kerana pengkompil tidak dapat mencari takrifan jenis data Titik. Untuk menyelesaikan masalah ini, kita perlu menambah pernyataan #include pada permulaan kod:

#include <iostream>
#include "point.h"

int main() {
  Point p;
  // ...
  return 0;
}
  1. Nama kelas atau jenis data salah dieja
#include <iostream>

int main() {
  // 假设我们想要使用一个自定义的数据类型叫做MyData
  Mydata data;
  // ...
  return 0;
}

Dalam kod di atas, kami salah mengeja nama jenis data tersuai MyData sebagai Mydata. Pengkompil akan melaporkan ralat dan menggesa "ralat: jujukan selongsong dijangka sebelum 'data'" kerana pengkompil tidak dapat mengenali jenis data Mydata. Untuk menyelesaikan masalah ini, kita hanya perlu menukar salah ejaan kepada nama yang betul:

#include <iostream>

int main() {
  MyData data;
  // ...
  return 0;
}
  1. Terdapat percanggahan antara pembolehubah atau fungsi dengan nama yang sama
#include <iostream>

int main() {
  // 假设我们在这里定义了一个同名的变量
  Point Point;
  // ...
  return 0;
}

Dalam kod di atas, kami menentukan pembolehubah atau fungsi dengan nama yang sama dalam fungsi utama Titik pembolehubah bercanggah dengan jenis data tersuai Point. Pengkompil akan melaporkan ralat dan menggesa "ralat: jujukan selongsong dijangka sebelum 'Titik'" kerana pengkompil tidak dapat membezakan sama ada ia pembolehubah atau jenis data. Untuk menyelesaikan masalah ini, kita perlu mengubah suai nama pembolehubah untuk mengelakkan pertindihan dengan nama jenis data:

#include <iostream>

int main() {
  Point myPoint;
  // ...
  return 0;
}
  1. Turutan pengisytiharan kelas atau jenis data adalah salah
#include <iostream>

class Point {
private:
  int x;
  int y;
public:
  Point(int a, int b) {
    x = a;
    y = b;
  }
};

int main() {
  Point p(1, 2);
  // ...
  return 0;
}

Dalam kod di atas, kami tentukan ia sebelum menggunakan fungsi utama Point jenis data tersuai. Pada masa ini, pengkompil akan melaporkan ralat dan menggesa "ralat: jujukan selongsong dijangka sebelum 'Titik'" kerana pengkompil tidak dapat mencari definisi jenis data Titik dalam fungsi utama. Untuk menyelesaikan masalah ini, kita perlu meletakkan definisi jenis data tersuai sebelum fungsi utama:

#include <iostream>

class Point {
private:
  int x;
  int y;
public:
  Point(int a, int b) {
    x = a;
    y = b;
  }
};

int main() {
  Point p(1, 2);
  // ...
  return 0;
}

Melalui contoh di atas, kita dapat melihat bahawa kaedah utama untuk menyelesaikan "ralat: urutan selongsong dijangka sebelum ' masalah datatype'" ialah Ia adalah untuk menyemak pengenalan fail pengepala, ejaan nama, mengelakkan konflik dengan pembolehubah dan fungsi dengan nama yang sama, dan susunan pengisytiharan kelas atau jenis data. Selagi anda mencari punca ralat berdasarkan mesej ralat tertentu dan membuat pengubahsuaian yang sesuai, anda boleh menyelesaikan masalah tersebut. Semoga artikel ini dapat memberi manfaat kepada pembaca.

Atas ialah kandungan terperinci Selesaikan masalah "ralat: jujukan selongsong dijangka sebelum 'jenis data'" dalam kod C++. 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