questo si sente come una cosa davvero stupida a chiedere, ma ho avuto qualcuno prendere una classe di programmazione farmi una domanda per un aiuto su un incarico e vedo questo nel loro codice (nessun commento sulla notazione ungherese per favore):In una dichiarazione di funzione, cosa significa passare una matrice di dimensioni fisse?
void read_dictionary(string ar_dictionary[25], int & dictionary_size) {...
Che, principalmente come programmatore C# (ho imparato a conoscere C e C++ al college) non sapevo nemmeno che potessi fare. Mi hanno sempre detto, e di aver letto da allora si suppone di avere
void read_dictionary(string ar_dictionary[], int ar_dictionary_size, int & dictionary_size) {...
Mi hanno detto che il professore li questo ha dato e che funziona, così che cosa fa dichiarare un array di dimensione fissa così anche dire ? C++ non ha un modo nativo per conoscere la dimensione di un array passato (anche se penso che potrebbe essere stato modificato nelle specifiche più recenti)
Ha modo nativo per conoscere la dimensione della matrice : questo metodo. Se gli dici quanto è grande l'array, crederà che lo sia. –
Il '25' nella dichiarazione dei parametri viene ignorato dal compilatore. È lo stesso di 'ar_dictionary stringa []'. –
@ H2CO3 Non c'è nulla che la funzione possa fare con quel numero, né alcun modo per il compilatore di verificare se ciò che viene passato ad esso è quella dimensione ... – cost