Ho i file due C++, dico file1.cpp e file2.cpp comedichiarazione di funzione in C e C++
//file1.cpp
#include<cstdio>
void fun(int i)
{
printf("%d\n",i);
}
//file2.cpp
void fun(double);
int main()
{
fun(5);
}
Quando compilo loro e collegamento come C++ file, ottengo un errore "undefined reference to divertimento (doppio)".
Ma quando faccio questo come file C, non ottengo l'errore e 0 viene stampato al posto di 5.
Spiegare la motivazione.
Inoltre, desidero chiedere se è necessario dichiarare una funzione prima di definirla in quanto
Non l'ho dichiarata in file1.cpp ma non è presente alcun errore nella compilazione.
Off topic: se una qualsiasi delle tue precedenti domande ha risposto in modo soddisfacente, devi tornare indietro e accettare le risposte. Solo per essere gentile. – outis
Solo per aggiungere @outis: così facendo aumenterà le possibilità che qualcuno risponda alle tue domande. – ereOn