Я недавно понял, что у меня есть следующее в моем коде C ++, и он компилируется и запускается без проблем.
void MyClass::foo(int a) {
const double x = a;
...
//do stuff with x
...
}
Мой вопрос: я думал, что переменным констант было присвоено значение во время компиляции, и это дали мне ошибку компиляции, хотя в этом случае она явно назначается во время выполнения. Спецификатор const здесь игнорируется? Или происходит что-то более сложное? Должен ли я удалить спецификатор const?