int test[5][5];
stack<int**> mystack;
mystack.push(test);
Я получаю ошибку:
нет соответствующей функции для вызова ‘std :: stack>> :: push (int [5] [5]) ’
/usr/include/c++/4.4/bits/stl_stack.h:182: примечание: кандидаты: void std :: stack <_Tp, _Sequence> :: push (постоянное имя типа _Sequence :: value_type &) [with _Tp = int ** , _Sequence = std :: deque>]
Я никогда раньше не использовал стеки, поэтому буду признателен за любую помощь. Если я объявляю test как одномерный массив и помещаю его как int *, он работает нормально.
Редактировать: я пытаюсь реализовать обратный ход для sudokusolver. У меня есть сетка судоку в виде массива заданных объектов размером 9x9 (объекты, которые содержат решение или возможные решения). Я должен поместить текущее состояние головоломки в стек, а затем оттуда попробовать угадать и проверить. Если предположение создает противоречие (то есть нарушает правила судоку), я выскочил из стека, чтобы восстановить загадку перед неверным предположением.