В настоящее время я реорганизую/убираю старый код C, используемый в проекте на С++, и регулярно вижу такие функции, как:
int f(void)
который я хотел бы написать как:
int f()
Есть ли какая-либо причина не заменять (void) на() на всей кодовой базе, чтобы улучшить согласованность, или есть тонкая разница между двумя, о которых я не знаю? Более конкретно, если функция виртуального члена в С++ описывается как:
virtual int f(void)
а производный класс включает функцию-член:
int f()
- это допустимое переопределение? Кроме того, могу ли я столкнуться с любыми проблемами компоновщика, основанные на почти идентичных сигнатурах?