Por que a declaração de função é obrigatória em C ++ e não em C?

Então um dos meus exames anteriores tinha essa pergunta e até agora eu estava lendo que você não precisa de uma declaração em nenhum dos idiomas?

Qual é certo? O C ++ apresentará um erro se não houver declaração ou será executado?