Esto se siente como una cosa muy estúpida a pedir, pero me había alguien que toma una clase de programación pedirme un poco de ayuda en una tarea y veo esto en su código (no hay comentarios sobre la notación húngara por favor):En una declaración de función, ¿qué significa pasar una matriz de tamaño fijo?
void read_dictionary(string ar_dictionary[25], int & dictionary_size) {...
Que, principalmente como programador de C# (aprendí sobre C y C++ en la universidad) ni siquiera sabía que podías hacer. Siempre me dijeron, y que he leído desde que se supone que tienes
void read_dictionary(string ar_dictionary[], int ar_dictionary_size, int & dictionary_size) {...
Me han dicho que el profesor les dio esto y que funciona, así que ¿qué declarar una matriz de tamaño fijo, como decir que incluso ? C++ no tiene forma nativa de conocer el tamaño de una matriz que se le pasa (incluso si creo que podría haber sido cambiado en las especificaciones más recientes)
Tiene forma nativa saber el tamaño de la matriz : este método. Si le dices cuán grande es la matriz, creerá que sí. –
El '25' en la declaración de parámetro es ignorado por el compilador. Es lo mismo que 'string ar_dictionary []'. –
@ H2CO3 No hay nada que la función pueda hacer con ese número, ni ninguna forma para que el compilador compruebe si lo que se le está pasando es ese tamaño ... – cost