У меня есть deque, который содержит std :: массивы.Структура, которая содержит массивы
Я хочу преобразовать его в deque, содержащий структуры. структуры Я сделал это так:
struct New_Array {
array<array<int,4>,4> tablee;
int h;
} Jim;
И у меня есть Deque имя посетило:
deque<New_Array> visited;
У меня есть функция, которая печатает как массив с именем PrintBoard.
void PrintBoard(New_Array tt) {
using namespace std;
for (int iRow = 0; iRow < 4; ++iRow) {
for (int iCol = 0; iCol < 4; ++iCol) {
cout << tt.tablee[iRow][iCol];
cout << " ";//This space helps so the numbers can be visable
//to the user
}
cout << endl;
}
}
Когда я пишу PrintBoard(visited.front());
это дает мне error C2664: 'PrintBoard cannot convert parameter 1 from 'New_Array' to std:tr1::array<_Ty,Size>'.
В чем проблема? Я никогда не использовал таблицы как одномерные.
EDIT:
#include <deque>
#include <vector>
#include <array>
using namespace std;
struct New_Array {
array<array<int,4>,4> tablee;
int h;
}str_test,Jim;
deque<New_Array> visited;
void dfs()
{
PrintBoard(visited.front());//****the error is in this line****
}
void PrintBoard(New_Array tt) {
using namespace std;
for (int iRow = 0; iRow < 4; ++iRow) {
for (int iCol = 0; iCol < 4; ++iCol) {
cout << tt.tablee[iRow][iCol];
cout << " ";//This space helps so the numbers can be visable
//to the user
}
cout << endl;
}
}
int main()
{
dfs();
char test_char;
cin>> test_char;
return EXIT_SUCCESS;
}
Можете ли вы сформировать это в один блок кода, который мы можем попытаться скомпилировать (т. Е. [SSCCE] (http://sscce.org))? Я поставил код в файл и написал main(), и он компилирует для меня w/gcc – je4d
Какая строка является ошибкой, и где это в вашем примере? – ssube
@ je4d см. Мои изменения –