Inkrementierung von constexpr nicht möglich (Beispiel aus Lehrbuch)



  • Hallo Leute,

    ich habe folgendes Beispiel in einem Lehrbuch gefunden und mir ist aufgefallen, dass hier ein constexpr int definiert wird, welcher in einer while-Schleife inkrementiert werden soll. Ich habe das Beispiel aus dem Lehrbuch kopiert und kann es nicht laufen lassen, da es sie hier logischerweise um eine Konstante handelt. Fehler: "Der Ausdruck muss ein änderbarer lvalue sein."
    Hier das Beispiel:

    #include <iostream>
    
    using namespace std;
    int main()
    {
    	int sum{ 0 };
    	constexpr int n{ 1 };
    	constexpr int grenze{ 99 };
    	while (n <= grenze) {
    		sum += n++;
    	}
    
    }
    
    

    Habe ich etwas übersehen?

    Vielen Dank!



  • SOLVED:
    Auf der Webseite des Lehrbuchs habe ich im Errata folgendes gefunden:
    "S. 76 Mitte: n darf natürlich nicht const oder constexpr sein!"

    Frage ist somit beantwortet 🙂


Log in to reply