I am not an expert in C++. I get an error when I try to execute the following line in C++. However, I don't get this error in C. Can you please explain why does it happen so?
int policy;
char *policy_name = (policy == SCHED_FIFO) ? "SCHED_FIFO" : (policy == SCHED_RR) ? "SCHED_RR" : (policy == SCHED_OTHER) ? "SCHED_OTHER":"??";
Compilation error:
error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]
If I do this, the error goes off.
const char *policy_name = (policy == SCHED_FIFO) ? "SCHED_FIFO" : (policy == SCHED_RR) ? "SCHED_RR" : (policy == SCHED_OTHER) ? "SCHED_OTHER":"??";
The question is why does it happen so?