La Confusion au sujet de statique pointeur de fonction en c

Consulter l'extrait de code suivant. Il a été écrit en 2005, mais je suis pour le compiler avec la dernière version de gcc.

xln_merge_nodes_without_lindo(coeff, cand_node_array, match1_array, match2_array)
  sm_matrix *coeff;
  array_t *cand_node_array, *match1_array, *match2_array;
{ 
  node_t *n1, *n2;
  sm_row *row1, *row2;
  static sm_row *xln_merge_find_neighbor_of_row1_with_minimum_neighbors();

  while (TRUE) {
      row1 = sm_shortest_row(coeff);
      if (row1 == NIL (sm_row)) return;
      n1 = array_fetch(node_t *, cand_node_array, row1->row_num);
      row2 = xln_merge_find_neighbor_of_row1_with_minimum_neighbors(row1, coeff);
      n2 = array_fetch(node_t *, cand_node_array, row2->row_num);
      array_insert_last(node_t *, match1_array, n1);
      array_insert_last(node_t *, match2_array, n2);
      xln_merge_update_neighbor_info(coeff, row1, row2);
  }
}

Lors de la compilation,il se plaint,

xln_merge.c:299:18: error: invalid storage class for function ‘xln_merge_find_neighbor_of_row1_with_minimum_neighbors’

(xln_merger.c:299 est ligne 3 après la définition commence).

Ligne 3 définition de la fonction semble être une déclaration de fonction (n'est-ce pas???). Le programmeur avait l'intention d'écrire un pointeur de fonction (statique)? Ou certains de la syntaxe a changé au cours du temps en c pourquoi ce n'est pas la compilation.

Ce code est à partir de sis paquet ici

OriginalL'auteur Dilawar | 2012-07-29