lundi 17 juillet 2017

Why is there a difference between a .cpp file and a .h file?

I'm using Microsoft Visual Studio. Why can I access the variable when I include a .h file and not when I include a .cpp file in the following code?

file.h

int i = 10;

file.cpp

int i = 10;

main.cpp including .h

#include <iostream>
#include "file.h"

int main()
{
     std::cout << i << std::endl;     // ok: output: 10
     return 0;
}

main.cpp including .cpp

#include <iostream>
#include "file.cpp"

int main()
{
     std::cout << i << std::endl;     // error: LNK1169, LNK2005
     return 0;
}

Aucun commentaire:

Enregistrer un commentaire