Heim > Backend-Entwicklung > C++ > Hauptteil

Inkompatibilität zwischen C und C++

PHPz
Freigeben: 2023-08-28 18:33:06
nach vorne
1116 Leute haben es durchsucht

Inkompatibilität zwischen C und C++

Hier werden wir einige Inkompatibilitäten zwischen C und C++ sehen. Einige C-Codes, die mit einem C-Compiler kompiliert werden können, können nicht mit einem C++-Compiler kompiliert werden. und gibt einen Fehler zurück.

  • Wir können Funktionen mithilfe einer Syntax definieren, die optional Parametertypen nach der Parameterliste angibt.

Beispiel

#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);
}
Nach dem Login kopieren

Ausgabe

x = 10, y = 20
Nach dem Login kopieren
Nach dem Login kopieren

Ausgabe

Error in C++ :- x and y was not declared in this scope
Nach dem Login kopieren
  • In der Sprache C oder einigen älteren Versionen von C++ ist der Standardvariablentyp eine Ganzzahl. In neuen Versionen von C++ tritt jedoch ein Fehler auf.

Beispiel

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

Ausgabe

x = 10, y = 20
Nach dem Login kopieren
Nach dem Login kopieren

Ausgabe

Error in C++ :- x does not name a type
y does not name a type
Nach dem Login kopieren
  • In der Sprache C können globale Datenobjekte mehrfach deklariert werden, ohne das Schlüsselwort extern zu verwenden. Der C-Compiler behandelt dies als eine Deklaration unter vielen.

Beispiel

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

Ausgabe

x = 10
Nach dem Login kopieren

Ausgabe

Error in C++ :- Redefinition of int x
Nach dem Login kopieren
  • In der Sprache C können wir den Void-Zeiger als rechten Operanden des Zuweisungsoperators oder zum Initialisieren einer beliebigen Zeigertypvariablen verwenden.

Beispiel

#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);
}
Nach dem Login kopieren

Ausgabe

Array created. Size: 10
Nach dem Login kopieren

Ausgabe

Error in C++ :- Invalid conversion of void* to int*
Nach dem Login kopieren
  • In der Sprache C können wir mehrere Parameter übergeben, wenn der Parametertyp nicht angegeben ist.

Beispiel

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

Ausgabe

Inside my_function
Nach dem Login kopieren

Ausgabe

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

Das obige ist der detaillierte Inhalt vonInkompatibilität zwischen C und C++. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!