The problem is not in the lines that you're showing, the problem is how you're calling the function. It appears that you're calling the function with a "string literal" (a constant char*), ie Rectangle(1.0, 2.9, "THIS IS THE VALUE YOU'RE PASSING").
When you add the "const" you are informing the compiler that the function will not try to modify the variable. Remember that you can never modify a "string literal". That pointer can be and usually is pointing to the "Code" segment, which is not writable, hence the need for a const char *.
Why I shouldn't do it?
Do what, exactly? In this instance the compiler won't let you pass a "string literal" via a non-const char pointer, hence the error message.
if you are not allowed to use this, you have to clunk:
copy the constant into a variable, and pass the variable to the function, or better, get rid of the constant:
char passme[] = "constant text";
foo(passme); //ok