#include <iostream>
using namespace std;
const int MAX = 4;
int main()
{
char *names[MAX] = {
"Zara Ali",
"Hina Ali",
"Nuha Ali",
"Sara Ali",
};
char *ptr[MAX];
for (int i = 0; i < MAX; i++)
{
ptr[i] = &names[i];
}
for (int i = 0; i < MAX; i++)
{
cout << "Value of names[" << i << "] = ";
cout << *ptr[i] << endl;
}
return 0;
}
-6
A
Antwort
4
Sie ändern müssen:
ptr[i] = &names[i]; // `&names[i];`is pointer to char*
zu
ptr[i] = names[i];
eine andere Sache ist, dass Sie sollten Laden Literale als const char*
und nicht char*
, ändern, so auch:
char *ptr[MAX];
char *names[MAX] = {
zu:
const char *ptr[MAX];
const char *names[MAX] = {
Sie oben in Ihrem Compiler-Fehler/Warnungen lesen, so schlage ich vor, Sie lernen, wie sie zu lesen, in diesem Fall:
prog.cc:23:13: error: assigning to 'char *' from incompatible type 'char **'; remove &
ptr[i] = &names[i];
^~~~~~~~~~
Compiler gibt Ihnen Informationen genau wo die Zuordnung liegt, gibt es auch genaue Informationen was zu tun ist: remove &
. Dieser Ausgang stammt von clang, von dem ich denke, dass er eine der besten Fehlermeldungen hat.
1
Was sagte Marcin
ptr[i] = names[i];
ist dies, weil Namen [i] tatsächlich ein Zeiger ist. schließlich um
cout << ptr[i] << endl;
zu drucken, weil ptr [i] ist auch ein Zeiger
Verwandte Themen
- 1. Char Zuordnung zu * Char funktioniert nicht
- 2. konvertieren LPVOID IN CHAR Fehler C2440: =
- 3. sscanf Fehler: kann 'String' nicht zu 'const char *' konvertieren
- 4. Mehrdeutiger Fehler mit char * und char [N]
- 5. Fehler: kann nicht konvertieren 'std :: basic_string <char> :: iterator ...' to 'const char * für Argument '1' ...'
- 6. Fehler: ungültige Konvertierung von 'char *' zu 'char'
- 7. Kann nicht von char (*) [10] konvertieren char ** im Gegenzug
- 8. C++ Fehler: Inkompatible Typen in Zuordnung von 'char *' zu 'char [2]
- 9. Fehler Unerwarteter Char javax.json
- 10. Konvertieren eines char * in int
- 11. einzigen char konvertieren
- 12. Konvertieren Zeichenfolge in char
- 13. Char-Array in einer Struktur - inkompatible Zuordnung?
- 14. konvertieren char Zeit bisher
- 15. konvertieren char Zeiger auf unsigned char-Array
- 16. const (char) * kann nicht
- 17. Unity/Objective-C: Fehler beim Konvertieren von char * in NSString
- 18. Fehler über inkompatible Typen: String kann nicht in char
- 19. Char-Array-Fehler, erwartet einen Ausdruck, Fehler
- 20. C++ Fehler: Ungültige Konvertierung von 'char' auf 'const char *'
- 21. Warum gibt ein 'char' einem 'char' einen Seg-Fehler? C++
- 22. kann char nicht in int konvertieren, wenn atoi verwendet
- 23. Umwandlung von char ** in char * oder char
- 24. C++ Konvertieren eines char in ein const char *
- 25. Konvertieren von Float in char *
- 26. Konvertieren von WORD in Char *
- 27. Konvertieren eines NSString * in char?
- 28. C++ - FILE * in CHAR konvertieren *
- 29. konvertieren MATLAB char-Array String
- 30. konvertieren unsigned char * in String
Was haben Sie getan, das Problem zu lösen versuchen? Neben dem Kopieren/Einfügen Ihres Codes in SO? –
Haben Sie darüber nachgedacht, die Zeile zu überprüfen, auf die der Compiler zeigt, und zu prüfen, ob etwas fischig ist? – Lundin