Heim  >  Artikel  >  Backend-Entwicklung  >  Inkompatibilität zwischen C und C++

Inkompatibilität zwischen C und C++

PHPz
PHPznach vorne
2023-08-28 18:33:061122Durchsuche

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);
}

Ausgabe

x = 10, y = 20

Ausgabe

Error in C++ :- x and y was not declared in this scope
  • 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);
}

Ausgabe

x = 10, y = 20

Ausgabe

Error in C++ :- x does not name a type
y does not name a type
  • 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);
}

Ausgabe

x = 10

Ausgabe

Error in C++ :- Redefinition of int x
  • 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);
}

Ausgabe

Array created. Size: 10

Ausgabe

Error in C++ :- Invalid conversion of void* to int*
  • 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;);
}

Ausgabe

Inside my_function

Ausgabe

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

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen