Hej, napisałem taki kod w visualu, niestety nie chce się skompilować:
#include "Header.h" //Source.cpp
#include "Silnia2.cpp"
void main()
{
int x=1;
while (x > 0) {
cout << "wpisz liczbe: ";
cin >> x;
cout << "Wynik: " << silnia2(x) << endl;
}
}
#ifndef Header_h//Header.h
#define Header_h
#include <iostream>
extern long silnia2(int n);
using namespace std;
#endif
#include "Header.h"//silnia2.cpp
extern long silnia2(int n) {
long wynik;
if (n == 1) {
return 1;
}
std::cout << n << std::endl;
wynik = n * silnia2(n - 1);
return wynik;
}
Błędy:
Severity Code Description Project File Line Suppression State
Error LNK2005 "long __cdecl silnia2(int)" (?silnia2@@YAJH@Z) already defined in Silnia2.obj Project1 C:\Users\alias\source\repos\Project1\Project1\Source.obj 1
Severity Code Description Project File Line Suppression State
Error LNK1169 one or more multiply defined symbols found Project1 C:\Users\alias\source\repos\Project1\Debug\Project1.exe 1
Dodam, że przy kompilacji w codeblocks'ie przez gcc nie ma problemu.