Я получаю сообщение об ошибке «ожидается постоянное выражение» в последней строке следующего кода:C++: «ожидается постоянное выражение»
int main() {
const float a = 0.5f;
const float b = 2.0f;
int array_of_ints[int(a*b + 1)];
}
Я думаю, это связано с тем, что int(a*b + 1)
не известно, во время время компиляции, правильно? Мой вопрос: есть ли способ закодировать приведенный выше пример, чтобы он работал, и array_of_ints
будет иметь размер int(a*b + 1)
?
Любая помощь или понимание того, что происходит здесь будут оценены :)
Edit: Я понимаю, что вектор должен решить эту проблему. Однако я хочу, чтобы содержимое массива находилось в стеке.
Я предполагаю, что вы используете Visual Studio? –
сделать cast 'const int' или удалить листинг alltogether – bolov
Использовать' new' и динамически выделять его на кучу –