Problem mit Hochkomma



  • Hallo,

    ich wollte mal fragen ob man es hinbekommen kann, das man bei

    char c = 'A';
    

    auch schreiben kann:

    char c = "A";
    

    bei letzterem bekomm ich in DEV_C++ die Meldung:

    invalid conversion from `const char*' to `char'
    

    Liegt das an der IDE oder ist das der C++ Standard?
    Kann man das irgendwie ändern ohne die IDE wechseln zu müssen?

    Danke euch schonmal...



  • G4sT schrieb:

    bei letzterem bekomm ich in DEV_C++ die Meldung:

    invalid conversion from `const char*' to `char'
    

    Liegt das an der IDE oder ist das der C++ Standard?
    Kann man das irgendwie ändern ohne die IDE wechseln zu müssen?

    1. Der Fehler ist auch richtig. 'a' ist ein Zeichen, "a" ein null-terminiertes Zeichenliteral [Effektiv zwei Zeichen 'a' + '\0'].
    2. Ich würde die IDE dennoch wechseln (DevC++ ist veraltet)

    cu André



  • '' und "" haben in C++ 2 verschiedene Bedeutungen. '' zeigt, dass es lediglich ein einziges Zeichen drin ist. "" bedeutet, dass es ein String ist und hat dementsprechend noch eine Null Terminierung am Ende.



  • ach ja hier noch mal mein ganzer Sourcecode (wie er nicht funktioniert wegen den "..."):

    #include <iostream>
    using namespace std;
    
    int main() {
        char c = "A";
        int i = 0;
        long l = 123456;
        float f = 7.89;
        cout << "c\t=\t" << c << "\ni\t=\t" << i << "\nl\t=\t" << l << "\nf\t=\t" << f << "\n";
        system("PAUSE");   
    }
    


  • Wie gesagt. Das ist grundsätzlich ein Fehler.

    char c = 'A';
    

    Und alle sind zufrieden.



  • ja danke ist jetzt klar...

    ihr wart so schnell mit antworten das ich mit dem nachposten zu langsam war...

    Danke...


Anmelden zum Antworten