Вы должны передать число элементов в массиве в orderClasses()
. Поскольку это не вариант, рассмотрим несколько альтернатив:
- Добавьте еще одну функцию-член к
Prerequisites
, чтобы сообщить, насколько большим будет массив при вызове orderClasses()
.
- Используйте значение стража для последней строки в массиве, чтобы, когда вы видите это значение в функции, вы знали, что достигли конца.
- Сделать первую строку в массиве строкой, содержащей количество элементов в массиве.
Ни одно из этих решений не является хорошим решением проблемы: лучший вариант, хотя и при использовании массива, конечно, просто передать размер массива функции. В большинстве сценариев было бы даже лучше вообще не использовать массив и просто передавать std::vector<std::string>
, содержащий строки.