Operandentypen sind inkompatibel ("char und "const char")



  • (Entschuldingung wenn ich in der Falschen Kategorie schreibe)
    Diese Fehlermeldung habe ich erhalten nachdem ich in Visual Studio (natürlich mit C++) einen einfachen Consolen Taschenrechner programmieren wollte. Ich bin kompletter Neuling bei der Sprache C++ habe erst heute damit angefangen. Also bitte nehmt es mir nicht übel wenn ich sowelche "dummen" Fragen stelle. Bis her beherrsche ich nur eine Programmiersprache richtig uns war Python. Aber zurück zu dem Error: Ich verstehe nicht wieso das plötzlich eine "Const Char" sein soll und sie inkompatibel ist (habe auch schon nach dem Datentyp Const Char gegoogelt und es kamen mir nur Ergebnisse für Char). Was ein/e Char ist weiß ich übrigens. Kann mir jemand bei dem Problem helfen? Vielen Dank im Voraus! Hier nochmal mein jetziger Code (Die Fehlermeldung kam bei Zeile 33):

    #include <iostream>
    using namespace std;
    
    // Entry Point
    int main() {
    	
    	double Zahl1;
    	double Zahl2;
    	
    
    	cout << "Willkommen zu BASIC dem Taschenrechner!\n";
    	cout << "*************************************\n";
    
    	// first number input
    	cout << "Bitte geben sie die erste Zahl ein:";
    	cin >> Zahl1;"\n";
    
    	// second number input
    	cout << "Bitte geben sie die zweite Zahl ein:";
    	cin >> Zahl2;"\n";
    
    	// calculate tool
    	char tool;
    	cout << "Bitte die Art der Operation eingeben (+, -, /, *) \n:";
    	cin >> tool;
    	
    	// calculate the result
    	if (tool != '+' && tool != '-' && tool != '/' && tool != '*') {
    		cout << "Invalid Syntax | Bitte geben sie nur die folgenden Operatoren ein (+, -, *, /)";
    
    	}
    
    	if (tool == "+" ) {
                        ^
               Hier ist das Problem
    
    }
    


  • In der Fehlermeldung ist sicher von const char* die Rede. Das Sternchen ist entscheidend. Wenn du heute erst angefangen hast, ist es wahrscheinlich nicht sinnvoll, genau zu erklären, was das bedeutet.

    Der Fehler ist schlicht und einfach, dass du doppelte Anführungszeichen verwendet hast statt einfachen. Richtig ist: tool == '+'.

    Einfache Anführungszeichen begrenzen Zeichenkonstanten (einzelne Zeichen), doppelte Anführungszeichen begrenzen Zeichenkettenkonstanten.



  • @Bashar Vielen Dank für die schnelle und klare Antwort! Programm läuft!


Anmelden zum Antworten