У меня проблемы с передачей функции в качестве аргумента другой функции.Я знаю, что это уже было решено здесь, но я был бы признателен за дополнительную помощь, потому что у меня нет успеха.Я попытался адаптировать этот пример к своим потребностям:
C ++: Как передать ссылку на функцию в другую функцию?
Я пытаюсь сделать мойкод более читабелен.У меня огромное количество кода, и многие из них повторяются.Например:
CreateDatabaseEntry( A_key, name_vector, name_vector2, dimension, "_mySuffix" );
CreateDatabaseEntry( B_key, name_vector, name_vector2, dimension, "_mySuffix" ); ...
Допустим, у меня есть 26 из этих вызовов в моем текущем главном файле, по одному для B_key, C_key и т. Д. Я хотел бы переместить этот вид функций в функции в отдельности "вспомогательный файл (helper.cpp / h).Например, в CreateDatabaseEntries ().
Проблема
Вот моя проблема.Я должен был бы передать CreateDatabaseEntry в CreateDatabaseEntries.Каждый вызов CreateDatabaseEntry принимает разные аргументы (например, A_key, затем B_key и т. Д.).Я попытался использовать пример по ссылке, которую я предоставил выше.Но я получаю ошибки "нет соответствующего вызова функции".Я предполагаю, что я не получил бы ошибки, если бы я вызывал ТОЛЬКО один CreateDatabaseEntry.Потому что я мог жестко закодировать «A_key» в определении CreateDatabaseEntries.Кажется, проблема в том, что я не могу обобщить определение CreateDatabaseEntries, чтобы взять A_key, B_key, C_key или что угодно.
Кроме того, это просто простое представление.На практике я хотел бы создать несколько «зонтичных» функций, таких как CreateDatabaseEntries, которые бы принимали не только произвольные A_key, B_key, ..., но также произвольные name_vector и другие аргументы.
Я новичок, и этовозможно, что я полностью лаю не на том дереве.Если мое объяснение имеет какой-либо смысл для кого-то, может быть, есть совершенно другой способ сделать это?Если это так, было бы здорово узнать об этом.Благодаря.