In primul rand, subprogramul tau nu are voie sa returneze ceva. In cerinta e precizat sa se furnizeze prin parametrul s, deci ai un subprogram void si ai nevoie de ampersant la s...In al doilea rand, sirul incepe numerotarea de la 0
Aceasta este solutia:
void P(int x[], int n, int &s){
if(n!=-1)
P(x,n-1,s);
if(prim(x[n])!=0)
s=s+x[n];
}