Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Ketidakserasian antara C dan C++

Ketidakserasian antara C dan C++

PHPz
PHPzke hadapan
2023-08-28 18:33:061083semak imbas

Ketidakserasian antara C dan C++

Di sini kita akan melihat beberapa ketidakserasian antara C dan C++. Sesetengah kod C yang boleh disusun dengan pengkompil C tidak boleh disusun dengan pengkompil C++. dan akan mengembalikan ralat.

  • Kami boleh mentakrifkan fungsi menggunakan sintaks yang secara pilihan menentukan jenis parameter selepas senarai parameter.

Contoh

#include<stdio.h>
void my_function(x, y)int x;int y; { // Not valid in C++
   printf("x = %d, y = %d", x, y);
}
int main() {
   my_function(10, 20);
}

Output

x = 10, y = 20

Output

Error in C++ :- x and y was not declared in this scope
  • Dalam bahasa C atau beberapa versi lama C++, jenis pembolehubah lalai ialah integer. Tetapi dalam versi baharu C++, ralat berlaku.

Contoh

#include<stdio.h>
main() {
   const x = 10;
   const y = 20;
   printf("x = %d, y = %d", x, y);
}

Output

x = 10, y = 20

Output

Error in C++ :- x does not name a type
y does not name a type
  • Dalam bahasa C, objek data global boleh diisytiharkan beberapa kali tanpa menggunakan kata kunci luaran. Pengkompil C akan menganggap ini sebagai satu perisytiharan di kalangan banyak.

Contoh

#include<stdio.h>
int x;
int x;
int main() {
   x = 10;
   printf("x = %d", x);
}

Output

x = 10

Output

Error in C++ :- Redefinition of int x
  • Dalam bahasa C, kita boleh menggunakan penunjuk void sebagai operan yang betul bagi pengendali tugasan, atau untuk memulakan sebarang pembolehubah jenis penunjuk.

Contoh

#include<stdio.h>
#include<malloc.h>
void my_function(int n) {
   int* ptr = malloc(n* sizeof(int)); //implicitly convert void* to int*
   printf("Array created. Size: %d", n);
}
main() {
   my_function(10);
}

Output

Array created. Size: 10

Output

Error in C++ :- Invalid conversion of void* to int*
  • Dalam bahasa C, kita boleh lulus berbilang parameter jika jenis parameter tidak dinyatakan.

Contoh

#include<stdio.h>
void my_function() {
   printf("Inside my_function");
}
main() {
   my_function(10, "Hello", 2.568, &#39;a&#39;);
}

Output

Inside my_function

Output

Error in C++ :- Too many arguments to function &#39;void my_function()&#39;

Atas ialah kandungan terperinci Ketidakserasian antara C dan C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam