Возможно переполнение стека. Создайте массив динамически, он будет работать (потому что он будет создан в куче). Или, вместо этого используйте std::vector< std::vector<char> >
. (Быть очень осторожны, если вы решите использовать std::vector<bool>
.. если вы не знаете, что именно вы делаете (это не нормальный STL контейнер, содержащий только Bools), используйте его с гольца).
Использование std::vector< std::vector<char> >
позволит вам использовать объект как обычный двумерный массив.
EDIT:
станд :: вектор < BOOL>: «Эта специализация предусмотрена для оптимизации распределения пространства: В этой специализации шаблона, каждый элемент занимает только один бит (что в восемь раз меньше, чем наименьший тип в C++: char).
Ссылки на элементы вектора bool, возвращаемые членами вектора, не являются ссылками на объекты bool, а особый тип члена, который является ссылкой на один бит, определенный внутри специализации векторного класса как ". CPlusPlus
Вы попытались запустить его с помощью ** gdb **? –
segfault или переполнение стека? Это больше похоже на переполнение стека для меня .. –