Bonjour a tous

J'ai écrit la fonction suivante, qui est sensée me rendre un vecteur de valeurs. Le fait que tout soit sous forme de pointeurs est imposé pour la communication entre C et R, de même que le type void de la fonction.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
#include<stdio.h>
#include<stdlib.h>
#include<time.h> 
#include<math.h>
#include<Rmath.h>
#include<R.h>
 
void epistasie(int *n, int *nbsouches, int *genotypes, int*cout, int *couts)
{
	int sommeloci;
	for (int S = 0; S < *nbsouches; S++) {
		sommeloci = 0;
		for (int i = *n*S; i < *n*S+(*n); i++) {
			if (*genotypes[i]==1) { //
				sommeloci = sommeloci+1;
			}
		}
		*couts[S] = pow((1-*cout),sommeloci); //
	}
}
A la compil, j'obtiens

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
subroutines.c:24: error: invalid type argument of ‘unary *’
subroutines.c:28: error: invalid type argument of ‘unary *’
Les lignes incriminées sont marquées par // dans la fonction