Передача 2d std::array в функцию C++
Я пытаюсь передать в конструктор класса 2d массив
std::array<std::array<int, dimension>, dimension>
Я делаю поиск, и я пытался использовать шаблон.. Но не работает
Но мой код выдает следующую ошибку:
Undefined symbols for architecture x86_64:
"state::state<std::__1::array<int, 4ul>, 4ul>(int, std::__1::array<std::__1::array<int, 4ul>, 4ul> const&)", referenced
from:
_main in main-d76757.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Код основной:
int main () {
const int dimension = 4;
std::array<int, dimension> j;
std::array<std::array<int, dimension>, dimension> array;
array[0][0] = 0;
array[0][1] = 7;
array[0][2] = 4;
array[1][0] = 3;
array[1][1] = 8;
array[1][2] = 6;
array[2][0] = 1;
array[2][1] = 5;
array[2][2] = 2;
state t = state(dimension, array);
}
А вот код конструктора:
template<typename T, size_t N>
state::state(const int dim, std::array<T, N> const &array) : dimension(-1)
{
// DO STUFF
}