Обработка немного разных структур одной функцией в C++

Помогите новичку. Есть такие две структуры:
struct valuenode {
    char elements [5];
    int power;
};
struct indexnode {
    char elements [5];
    int elementindex [10];
};

Еще есть функция, которая генерирует некоторый масив структур первого типа (valuenode), вот ее обьявление:
int pushlevelnodes (valuenode * valuesarray,int beginatindex=0,char toplevel=1) {

В этой функции используется только подмассив elements [5], power не трогается. Можно ли этой же функцией воспользоватся при генерации масива структур второго типа? Разница между структурами в дальнейшей обработке значений другими функциями, начальный масив генерируется одинаково. Не хотелось бы дублировать довольно большой код генерации. Если можно- ткните носом как. Заранее спасибо.
  • Вопрос задан
  • 2718 просмотров
Решения вопроса 1
Gorthauer87
@Gorthauer87
Программист
template метод? Или унаследовать эти две структуры от общего предка?
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
Cthutq66a
@Cthutq66a
Почему быне сделать так?
Можно функции на вход давать массив char* elements.
И вызывать от valuenode.elements и indexnode.elements.
Ответ написан
@QTsik
Создай отдельную функцию foo для работы с elements [5]. Потом создай две функции для работы с разными структурами и используй в них foo.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы