Znači konkretno trenutno učim modularno programiranje u c-u.Kao IDE koristim VS 2010.Program se uspješno kompajlira a ima greške dok radim start without debugging.
Main datoteka#include<stdio.h>#include<conio.h>#include "151b.cpp"int main(){int x;puts("Unesite cijeli broj:");scanf("%d",&x);printf("\nKub broja %d iznosi %ld.\n\n",x,KUB);getch();return 0;}
Druga datoteka:
#include"151b.h"long kub(int x){return ((long)x*x*x);}
Header:
#define KUB kub(x)long kub(int x);
C-kompajlira a ne runna
- poruka: 8
- |
- čitano: 2.475
- |
- moderatori:
Lazarus Long, XXX-Man, vincimus
- +/- sve poruke
- ravni prikaz
- starije poruke gore
Greske ili upozorenja? Koje tocno?
Greške:
Error 1 error LNK2005: "long __cdecl kub(int)" (?kub@@YAJH@Z) already defined in DV17__7__Fi__l_e1.obj C:\Users\mario\Documents\Visual Studio 2010\Projects\DV17__7__\DV17__7__\151b.obj DV17__7__
Error 2 error LNK1169: one or more multiply defined symbols found C:\Users\mario\Documents\Visual Studio 2010\Projects\DV17__7__\Debug\DV17__7__.exe 1 1 DV17__7__
Rekao bih da je ovo višak (tako se da zaključiti iz errora ali uzmi u obzir moje kronično nepoznavanje C-a)
#define KUB kub(x)long kub(int x);
Dva puta si mu definirao long kub(int x)
#include "151b.cpp"
Ovo vjerojatno treba biti 151b.h
#include "151b.cpp"
Ovo vjerojatno treba biti 151b.h
Ne vjerujem,to sam uzeo iz knjige za učenje c-a primjer...Vjerujem da mi je autor htio pokazati baš da te tri datoteke djeluju tako zajedno...ali,budem probao i tako...
Projekti ti za to sluze, da si mozes lijepo poredati dependencyje. Ovako ces se brzo pogubiti u toj zbrci koja ce nastati kad se pocne dodavati jos vise datoteka...
recimo da ti se datoteke zovu main.cpp, kub.cpp i kub.h
Sve tri datoteke dodas u projekt, u main.cpp includeas kub.h, u kub.cpp ne trebas nista includeati.
Zasto uopce definiras makro "KUB"? Cemu to?
Projekti ti za to sluze, da si mozes lijepo poredati dependencyje. Ovako ces se brzo pogubiti u toj zbrci koja ce nastati kad se pocne dodavati jos vise datoteka...
recimo da ti se datoteke zovu main.cpp, kub.cpp i kub.h
Sve tri datoteke dodas u projekt, u main.cpp includeas kub.h, u kub.cpp ne trebas nista includeati.
Zasto uopce definiras makro "KUB"? Cemu to?
ma to je primjer iz knjige za učenje c-a.