Вы должны проверить, является ли данный график циклическим.
Аргументы функции должны быть контейнером std::shared_ptr<AudioEffect>
объектов. Возвращение bool.
Для каждого элемента в контейнере используйте BFS или DFS, чтобы пройти по графику. Каждый узел должен быть объединен с индикатором, значение которого сначала равно 0 и становится 1 после посещения. Программа должна проверить индикатор перед посещением узла. Если это 1, то график циклический. Вы можете выбросить исключение или разорвать цикл, чтобы выйти из поиска.
Вы должны изучать структуры данных и алгоритмы. Давай!