Вы не можете хранить массивы в стиле C в контейнерах, потому что они не могут быть назначены; Вы не можете сделать это:
int x[3] = { 0, 1, 2 };
int y[3] = { 3, 4, 5 };
x = y;
Но контейнеры должны иметь возможность назначать / копировать элементы, которые они хранят.
Попробуйте использовать std::vector
или boost::array
* вместо необработанного массива C.
* Это можно найти как std::array
в более поздних версиях стандарта C ++.