Я создал разреженную матрицу mat
в C++, используя пакет Eigen. Матрица работает отлично, но я пытаюсь преобразовать ее в массив для использования в качестве растрового изображения. Размер mat
равен N + 1.Преобразование Eigen разреженной матрицы в массив в C++ с использованием
наивности, я пытался делать следующее:
double zmat[N+1][N+1];
for(int i=0; i<=N; i++){
for(int j=0; j<=N; j++){
zmat[i][j]=mat.coeffRef(i,j);
}
}
Но это дает мне исключение, когда я отладки:
Необработанное исключение при 0x0116B2C7 в Open_GL_test.exe: 0xC00000FD: переполнение стека (параметры : 0x00000000, 0x001D2000).
Любые мысли?
Какова ценность 'N'? Он должен быть большим, вы попадаете в переполнение стека. – CoryKramer
Почему вы используете эту нотацию N + 1? IMHO 'zmat [N] [N]' и 'i
user463035818
@CoryKramer N = 600 в этом примере. –