Как правильно превратить столбец матрицы в один вектор в C? - PullRequest
0 голосов
/ 09 ноября 2011
int *column_to_row(int **a, int rows, int column_index)
{
// a is a the matrix,rows are the number of rows in the matrix
//column_index is the chosen column of the matrix to be turned into a vector 
     int i;
     int *b=malloc(rows*sizeof(int));// b will be my returned vector
     if(b==NULL)
     {
          exit(EXIT_FAILURE);
     }    
     for(i=0;i<rows;i++)
     {
          b[i]=a[i][column_index];
     }
     return b;
}

Я получаю эту ошибку C2040:

error C2040: 'column_to_row' : 'int *(int **,int,int,int)' differs in levels of indirection from 'int ()'

Что я делаю не так?

1 Ответ

1 голос
/ 09 ноября 2011

функция работает правильно.

скорее всего, он жалуется, потому что отсутствует прототип.

int *(int **,int,int,int) похоже, что вызов функции не согласуется с объявлением, потому что это должно быть int*(int **, int ,int)

...