é f (nulo) descontinuado em C e C ++ modernos [duplicado]

Esta pergunta já tem uma resposta aqui:

Existe uma diferença entre foo (void) e foo () em C ++ ou 4 respostas Compreendendo a diferença entre f () ef (void) em C e C ++ de uma vez por todas 4 respostas

Atualmente, estou refatorando / arrumando algum código C antigo usado em um projeto C ++ e vejo regularmente funções como:

int f(void)

que eu tenderia a escrever como:

int f()

Existe algum motivo para não substituir (nulo) por () em toda a base de código, a fim de melhorar a consistência, ou há uma diferença sutil entre os dois que eu desconheço? Mais especificamente, se uma função de membro virtual em C ++ for descrita como:

virtual int f(void)

e uma classe derivada inclui uma função de membro:

int f()

isso é uma substituição válida? Além disso, provavelmente encontro problemas com o vinculador com base em assinaturas quase idênticas?

questionAnswers(6)

yourAnswerToTheQuestion