Hola a todos :) ,estoy haciendo una práctica relacionada con las cartas y tengo dos dudas en unas funciones que escribo a continuación :
    
Código C++:
Ver original- //Constantes: 
- const int CARTASPORPALO = 13; 
- const int MAXCARTAS = 53; 
- const int CENTINELA = 52; 
-   
- //Tipos enumerados: 
- typedef enum{ picas,treboles,diamantes,corazones }tPalo; 
-   
- //Tipos: 
- typedef int tCarta[CARTASPORPALO]; 
- typedef tCarta tMazo[MAXCARTAS]; 
-   
- //Procedimiento: 
- void crearMazoVacio(tMazo mazo){//Inicializo a Centinela el primer valor de mazo. 
-     mazo[0] = CENTINELA;  
- //Me selecciona la palabra mazo y me dice "Error:La expresión debe ser un valor L modificable." 
-   
- } 
-   
- //Función: 
- tPalo darPalo(tCarta carta){ 
-      
-     return tPalo(int(carta) / CARTASPORPALO); 
-     //Por ejemplo si me entra la carta 2,me debe devolver 0 porque 2/13 = 0  
-     que en el enumerado tPalo son las picas. 
-   
-     //Yo he puesto como molde el int(..) porque si escribo solo: [B]carta[/B]/CARTASPORPALO, 
-     me selecciona la palabra carta y dice "Error :La expresión debe tener un tipo aritmético o enum." 
-   
-     //Mi duda es cómo entra el array aquí porque yo siempre he usado los arrays así por ejemplo:carta[i] y no lo entiendo porque la profesora nos ha dicho que esta función debe ser así en la práctica *-* 
- } 
Espero que puedan ayudarme,les agradecería mucho :)!