Witam, mam problem z błędem "multiple definition of |tu nazwa funkcji|"
plik: main.cpp
#include <iostream>
#include "plik2.cpp"
using namespace std;
int main()
{
cout << "Hello world!" << endl;
return 0;
}
plik: plik1.cpp
#include "plik2.cpp"
plik: plik2.cpp
#include <iostream>
void a()
{
std::cout << "Test";
}
Treść błędu: Multiple definition of "a()"
"#pragma once" nie pomaga, kombinacji "#ifndef" "#define" "#endif" próbowałem użyć w plik2.cpp jednak z takim samym skutkiem.
Jak pozbyć się tego problemu? Jeśli jest on spowodowany tym, że pakuje cały kod prosto do plików .cpp a nie .h to dało by się go jakoś rozwiązać bez użycia plików .h?