übungsprogramm geht nicht!! veraltete Konvertierung von Zeichenkettenkonstante in »c

Dieses Thema im Forum "C/C++" wurde erstellt von gosunosu, 10.12.2008.

  1. #1 gosunosu, 10.12.2008
    gosunosu

    gosunosu Jungspund

    Dabei seit:
    01.05.2008
    Beiträge:
    23
    Zustimmungen:
    0
    hallo alle zusammen,
    ich bin gerade son bissel dabei c++ zu lernen und komme auch ganz gut voran...
    bis auf dieses kleine übungsprogrämchen, welches ich aus dem buch c++ von a bis z habe
    ... nur leider geht dieses hier irgendwie nicht.
    hier der code (eigentlich nur abgeschrieben darum verwunderts mich ja)

    Code:
    // ptrptr2.cpp
    #include <iostream> 
    using namespace std;
    
    int main(void) {
    	char* cptrptr[] = {"super", "toll", "hammer"};
    	char* cstring[3];
    	char carray[] = "und";
    	
    	cout << *cptrptr << "\n";
    	cout << *(cptrptr + 1) << "\n";
    	cout << *(cptrptr + 2) << "\n";
    	
    	cout << cptrptr[0] << "\n";
    	cout << cptrptr[1] << "\n";
    	cout << cptrptr[2] << "\n";
    	
    	// 2.string " toll " -> dritter buchstabe "l"
    	cout << *(*(cptrptr+1)+2) << "\n";
    	cout << *(cptrptr[1]+2) << "\n";
    	cout << cptrptr[1][2] << "\n";
    
    	cstring[0]= cptrptr[0];
    	cstring[1]= carray;
    	cstring[2]= cptrptr[1];
    
    	cout << cstring[0] << cstring[1] << cstring[2] << "\n";
    	return 0;
    }
    
    und das ist die fehler meldung die ich bekomme wenn ich:

    g++ ptrptr2.cpp -o ptrptr2

    eingebe.

    ptrptr2.cpp: In function »int main()«:
    ptrptr2.cpp:6: Warnung: veraltete Konvertierung von Zeichenkettenkonstante in »char*«
    ptrptr2.cpp:6: Warnung: veraltete Konvertierung von Zeichenkettenkonstante in »char*«
    ptrptr2.cpp:6: Warnung: veraltete Konvertierung von Zeichenkettenkonstante in »char*«

    ... ich mein das buch ist eigentlich ziemlich neu darum verwundert mich die fehlermeldung ... naja eventuell hat jemand eine idee woran es liegen könnte...
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 Sharoz, 10.12.2008
    Zuletzt bearbeitet: 10.12.2008
    Sharoz

    Sharoz Mitglied

    Dabei seit:
    10.11.2005
    Beiträge:
    46
    Zustimmungen:
    0
    Hallo gosunosu!

    Ich kann das nicht ganz nachvollziehen. Bei mir kompiliert er alles anstandslos:
    Code:
    C:\>g++ -Wall -ansi -pedantic ptrptr2.cpp -o main.exe
    
    C:\>g++ --version
    g++ (GCC) 3.4.5 (mingw-vista special r3)
    Copyright (C) 2004 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    
    Ok, ich bin mit Vista und MinGW unterwegs, aber da du uns weder OS noch Compiler verraten hast, geht das wohl in Ordnung ;-)
    Der Code ansich sieht auch korrekt aus. Also wird es wohl an etwas anderem liegen.
     
  4. #3 Gott_in_schwarz, 10.12.2008
    Gott_in_schwarz

    Gott_in_schwarz ar0

    Dabei seit:
    22.04.2007
    Beiträge:
    546
    Zustimmungen:
    0
    Ort:
    Niedersachsen
    Ja wo sind wir denn hier?
    Fehlermeldungen googlen sollte man wohl noch beherrschen. (Man muss ja nichtmal selber was tippen, nur copy'n'paste...)
    Go for it!

    Ich könnte jetzt natürlich auch noch gleich die Lösung hier reinpasten, aber dann lernst ja nix (bzw. noch weniger) ;)
     
  5. #4 gosunosu, 10.12.2008
    gosunosu

    gosunosu Jungspund

    Dabei seit:
    01.05.2008
    Beiträge:
    23
    Zustimmungen:
    0
    ja sorry mein os ist ubuntu 2.6.24-22-generic
    und mein compiler ist g++ 4.2 denk ich mal ..bin mir aber nich 100 pro sicher wie krieg ich das raus ??
    und beim googlen bin ich gerade :)
    ...
    hab ja auch schon rumprobiert so isses nicht ... ich probiers weiter
     
  6. Gast1

    Gast1 Guest

    ACK.

    Ich habe von c/c++ in etwa so viel Ahnung wie eine Kuh vom Eierlegen, aber nach kurzem "Gurgeln" der Fehlermeldung (1:1 bei Tante G eingeworfen) fand sogar ich die Lösung (und das im allerersten Treffer, der zufälligerweise zu einem *Buntu-Forum führt).

    Code:
    $ g++ ptrptr2.cpp -o a.out
    
    ./a.out
    super
    toll
    hammer
    super
    toll
    hammer
    l
    l
    l
    superundtoll
    
    BTW: Die Warnmeldung sagt im übrigen "veraltet", deshalb wirft wohl der leicht angestaubte 3.4.5 diese Meldung nicht aus, der TE hat sicher einen g++ >= 4.0.
     
  7. Sharoz

    Sharoz Mitglied

    Dabei seit:
    10.11.2005
    Beiträge:
    46
    Zustimmungen:
    0
    Hmm, und schon wieder 'was gelernt! Ich werde hier noch richtig schlau ;-)
     
  8. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  9. #7 gosunosu, 10.12.2008
    gosunosu

    gosunosu Jungspund

    Dabei seit:
    01.05.2008
    Beiträge:
    23
    Zustimmungen:
    0
    so ich habs ...

    ... und es war nicht der erste treffer bei google :)

    aber danke trotzdem leutz!!!

    Hier noch mal der code wie er richtig ist und auch geht :)

    Code:
    // ptrptr2.cpp
    #include <iostream> 
    using namespace std;
    
    int main(void) {
    	const char* CPTRPTR[] = {"super", "toll", "hammer"};
    	const char* CSTRING[3];
    	char carray[] = " und " ;
    	
    	cout << *CPTRPTR << "\n";
    	cout << *(CPTRPTR + 1) << "\n";
    	cout << *(CPTRPTR + 2) << "\n";
    	
    	cout << CPTRPTR[0] << "\n";
    	cout << CPTRPTR[1] << "\n";
    	cout << CPTRPTR[2] << "\n";
    	
    	// 2.string " toll " -> dritter buchstabe "l"
    	cout << *(*(CPTRPTR+1)+2) << "\n";
    	cout << *(CPTRPTR[1]+2) << "\n";
    	cout << CPTRPTR[1][2] << "\n";
    
    	CSTRING[0]= CPTRPTR[0];
    	CSTRING[1]= carray;
    	CSTRING[2]= CPTRPTR[1];
    
    	cout << CSTRING[0] << CSTRING[1] << CSTRING[2] << "\n";
    	return 0;
    }
    
    tschö mit ö...
     
  10. Gast1

    Gast1 Guest

Thema: übungsprogramm geht nicht!! veraltete Konvertierung von Zeichenkettenkonstante in »c
Besucher kamen mit folgenden Suchen
  1. warnung veraltete konvertierung von zeichenkettenkonstante in »char*«

Die Seite wird geladen...

übungsprogramm geht nicht!! veraltete Konvertierung von Zeichenkettenkonstante in »c - Ähnliche Themen

  1. Kabel I-net geht auf Arbeit aber nicht Zuhause

    Kabel I-net geht auf Arbeit aber nicht Zuhause: Hallo liebe Liebenden & Haters dieser Welt, ich komme bei mir zuhause nicht ins Internet via Ethernet-Kabel. Es handelt sich um einen Laptop, der...
  2. Lets Encrypt geht in den Regelbetrieb über

    Lets Encrypt geht in den Regelbetrieb über: Die Linux Foundation teilt mit, dass das unter ihrem Schirm stehende Projekt Let's Encrypt die Beta-Phase abschließt und den Regelbetrieb...
  3. Java Plug-in geht in Rente

    Java Plug-in geht in Rente: Oracle hat angekündigt, mit der Auslieferung von Java 9, das frühestens im Frühjahr 2017 erscheinen soll, das Java-Browser-Plug-in als veraltet zu...
  4. Let's Encrypt geht in die offene Betaphase über

    Let's Encrypt geht in die offene Betaphase über: Let's Encrypt stellt kostenlos, schnell und unkompliziert SSL-Zertifikate aus. Das Projekt hatte am 12. September einen geschlossenen Betatest...
  5. Thomas-Krenn-Award geht in neue Runde

    Thomas-Krenn-Award geht in neue Runde: Bereits zum sechsten Mal unterstützt der Serverhersteller anlässlich der Thomas-Krenn Open Source Förderung Projekte mit Hardware-Gutscheinen im...