c++ multiple definitions of a variable
c++, compiler-errors
Solution
I'm not going to include all of the details, but you define a global variable, `wat` twice in your compilation uint.
To fix, use the following:
FileB.h
extern int wat;
FileB.cpp
int wat = 0;
This (`extern`) tells the compile that the variable `wat` exists somewhere, and that it needs to find it on it's own (in this case, it's in `FileB.cpp`)
Problem
I have 4 files (2 headers, and 2 code files). FileA.cpp, FileA.h, FileB.cpp, FileB.h FileA.cpp: ``` #include "FileA.h" int main() { hello(); return 0; } void hello() { //code here } ``` FileA.h: ``` #ifndef FILEA_H_ #define FILEA_H_ #include "FileB.h" void hello(); #endif /* FILEA_H_ */ ``` FileB.cpp: ``` #include "FileB.h" void world() { //more code; } ``` FileB.h: ``` #ifndef FILEB_H_ #define FILEB_H_ int wat; void world(); #endif /* FILEB_H_ */ ``` when I try to compile(with eclipse), I get " multiple definition of `wat' " And I don't know why, it seems as it should work just fine.