expression must have a constant value

219
21 апреля 2018, 19:04
const int BRICKTYPECOUNT = 7;
const sf::Vector2<int> BRICKSIZE(4,4);
int BRICKSTATES[tetris::BRICKTYPECOUNT][BRICKSIZE.x][8]
{
};

Ругается на BRICKSIZE.x И BRICKSIZE.y почему?

И даже так не работает

const int BRICKTYPECOUNT = 7;
const sf::Vector2<const int> BRICKSIZE(4,4);
int BRICKSTATES[tetris::BRICKTYPECOUNT][BRICKSIZE.x][8]
{
};
Answer 1
int BRICKSTATES[tetris::BRICKTYPECOUNT][BRICKSIZE.x][8] 

это обьявление памяти в стеке. Есть регистр %rsp , который указывает на вершину стека. Данное обьявление выделяет место в стеке так : %rsp:=%rsp-size. Вы не можете изменить размер массива, который находиться в стеке, так как он завален другими данными. Выхода два : или в проге нужна константа размера массива, или выделяем память динамически с помощью new.

READ ALSO
Visual Studio 2017 не выводит символы

Visual Studio 2017 не выводит символы

Пишу прогу на С++При запуске кода в консоли вместо символов знаки вопроса в квадрате

216
Сделать несколько replace

Сделать несколько replace

Есть строка, например <p:+79993333311@examplecom>, где +79993333311 это номер телефона, причем он может быть в разных форматах, предлагаю на этом не зацикливаться

211
Конвертация [object File] в array

Конвертация [object File] в array

Как можно преобразовать [object File] в array? На входе имею файл с расширениемhtml и нужно его содержимое внести в массив в любом виде ( весь файл str в один...

231
Здравствуйте помогите пожалуйста input type range

Здравствуйте помогите пожалуйста input type range

Есть два input type range/ При передвигание одного ползунка, срабатывает второй тоесть повторяет такие же движениеК примеру первый ползунок идет...

226