Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] error LNK2005 - pisanie w wielu plikach, początki

Ostatnio zmodyfikowano 2016-01-02 15:09
Autor Wiadomość
dovah993
Temat założony przez niniejszego użytkownika
[C++] error LNK2005 - pisanie w wielu plikach, początki
» 2016-01-02 11:47:39
Witam.
Dopiero zaczynam pisać w wielu plikach i potrzebowałbym w miarę szybko nadrobić tą zaległość. Korzystamz visuala 2013 i przy dwóch plikach mam następujący błąd:

C/C++
Error 2 error LNK2005: "double __cdecl clamp(double,double,double)"( ? clamp @ @ YANNNN @ Z ) already defined in clamp.obj c:\U sers\# # # neDrive\dokumenty\visual studio 2013\Projects\Lab 05\Lab 05\main.obj Lab 05

Oto te pliki.
main.cpp
C/C++
#include <iostream>
#include "clamp.cpp"

int main()
{
    clamp( 3, 2, 1 );
    getchar();
}

clamp.cpp
C/C++
#include <iostream>

double clamp( double a, double b, double c )
{
    if( b < a ) { return a; }
    if( b > c ) { return c; }
    if(( a <= b ) &&( b <= c ) ) { return b; }
}
P-142685
carlosmay
» 2016-01-02 12:07:43
To nie ma prawa działać.
Zrób tak:
Tworzysz plik *.h z deklaracjami i dodajesz do plików *.cpp z definicjami funkcji.

Dzielenie kodu na kilka plików
Dla visual'a kod jest identyczny jak dla Code::Blocks'a (visual ma to udogodnienie, że nie musisz męczyć się z dodawaniem plików do projektu).
Swoją drogą (Visual 2015 korzysta z nowszych elementów języka C++).
P-142686
dovah993
Temat założony przez niniejszego użytkownika
» 2016-01-02 15:09:34
Dzięki. Teraz działa. Korzystam z 13 gdyż na studiach jest zainstalowana 13.
P-142700
« 1 »
  Strona 1 z 1