Использую под windows IDE Code::Blocks v1.0, с которой идет minGW с gcc 3.4.4.
Наткнулся на непонятное мне поведение компилятора (точнее, линкера, наверное)
Есть три файла
main.cpp
#include <iostream>
#include "head.h"
using namespace std;
int main()
{
double x;
x=f();
cout << x<< endl;
return 0;
}
head.h
double f();
head.cpp
#include <iostream>
using namespace std;
void f(){
cout<<"double f()"<<endl;
}
Почему проект собрался?
Ведь объявление f() в head.h и определение f() в head.cpp неодинаковы!