No entiendo porque le pasas un entero entonces a la funcion:
    
Código C:
Ver original- int sumar(elemento *cabecera) 
- {  
-     int suma=0; 
-     elemento *actual = cabecera; 
-      while(actual != NULL )  { 
-             suma = suma + actual ->dato; 
-             actual  = actual ->siguiente; 
-       } 
-       return suma; 
- }