Heim > Backend-Entwicklung > C++ > Hauptteil

Warum wirft Malloc in C den Fehler „Ungültige Konvertierung von „void' nach „char'' aus?

Linda Hamilton
Freigeben: 2024-10-29 00:02:30
Original
592 Leute haben es durchsucht

Why Does Malloc Throw an

Ein Problem mit ungültiger Konvertierung bei Verwendung von Malloc

In C stoßen Entwickler häufig auf den Fehler „ungültige Konvertierung von ‚void‘ nach ‚char“. '" während Sie malloc zum Zuweisen von Speicher verwenden. Dieses Problem tritt auf, wenn die zurückgegebene Speicheradresse von malloc() falsch umgewandelt wird.

Im bereitgestellten Code wird das Problem in Zeile 5 behoben:

<code class="cpp">char *foo = malloc(1);</code>
Nach dem Login kopieren

Um dies zu beheben Bei diesem Problem ist es wichtig, den Rückgabewert von malloc() explizit in den gewünschten Typ umzuwandeln. In diesem Fall besteht das Ziel darin, einen Zeichenzeiger zu erhalten, daher wäre die richtige Zeile:

<code class="cpp">char *foo = (char*)malloc(1);</code>
Nach dem Login kopieren

Durch Hinzufügen der erforderlichen Umwandlung wird dem Compiler explizit mitgeteilt, dass die von malloc() zurückgegebene Adresse sein sollte als Zeichenzeiger behandelt. Durch diese Umwandlung wird sichergestellt, dass die Speicheradresse der Variablen „foo“ ordnungsgemäß zugewiesen wird, wodurch der Konvertierungsfehler behoben wird.

Das obige ist der detaillierte Inhalt vonWarum wirft Malloc in C den Fehler „Ungültige Konvertierung von „void' nach „char'' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage