Jump to content

[C++] wywolywanie prostej funkcji miedzy modulami, pytanie nowicjusza (poprawione)


Kilimandzaro

Recommended Posts

Poprzedni temat zostal usuniety bez podania przyczyn, przewertowalem regulamin po czym poprawilem je od strony formalnej. Nie znalazlem nigdzie na forum odpowiedzi (jak wspomnialem nie znam sie na nomenklaturze cpp jeszcze w sposob doskonaly, przeto mozliwe ze przeoczylem temat o niezrozumialej dla mnie tresci w przedmiotowej sprawie. Nastepnym razem prosze o wyjasnienie co zrobilem zle, zebym mogl sie poprawic. Wracajac do tematu -

 

 

Witajcie. Postanowilem nauczyc sie programowania w C++, napotkalem pierwszy (miejmy nadzieje -ostatni;) ) blad, ktorego nie potrafie sam 'przeskoczyc'. Znudzilo mnie tworzenie calego kodu w jednym module, postanowilem zatem stworzyc jeden modul 'main.cpp', nastepny 'drugi.cpp', oraz plik naglowkowy 'trzeci.h'.

 

W module naglowkowym zamiescilem wpis :

 

 

CYTAT#ifndef TRZECI_H_INCLUDED

#define TRZECI_H_INCLUDED

 

void funkcja();

 

#endif // TRZECI_H_INCLUDED

bedacy deklaracja (? nie jestem jeszcze obyty z nomenklatura) funkcji z modulu 'drugi'.

 

W module 'drugi' rozpisalem sobie funkcje :

 

 

CYTAT#include <iostream>

#include "trzeci.h"

 

void funkcja(){

cout << "funkcja dziala"<<endl;

};

 

 

W module 'main.cpp' :

 

 

CYTAT#include <iostream>

#include "trzeci.h"

 

using namespace std;

 

 

int main()

{

funkcja();

return 0;

}

 

 

 

getch odpuszczam ze wzgledu na fakt, ze po skompilowaniu w blocks okno i tak jest 'zamrozone' do czasu entera.

Po wcisnieciu F9 otrzymuje :

 

F:\moje C++\code blocks projects\Proba\wiele stron\main.cpp||In function `int main()':|

F:\moje C++\code blocks projects\Proba\wiele stron\main.cpp|9|error: `funkcja' was not declared in this scope|

F:\moje C++\code blocks projects\Proba\wiele stron\main.cpp|9|warning: unused variable 'funkcja'|

||=== Build finished: 1 errors, 1 warnings ===|

 

 

 

fakt, ze druga nie uzywa 'using namespace std' nic nie zmienia, probowalem tez..

Link to comment
Share on other sites

Guest Gelldur

JAK ktos zainteresowany dalsza część rozmów idzie tu :)

http://forum.4programmers.net/viewtopic.ph...563198#id563198

post ważny tylko 30 dni!

 

 

 

 

w drugi.cpp zjadles

using namespace std;

 

i wywal te w trzecia.h #define itp zostaw tylko void funkcja();

 

3 pliki

 

main.cpp

#include <iostream>

#include "trzeci.h"

using namespace std;

 

int main()

{

funkcja();

system("PAUSE");

return 0;

}

 

 

plik drugi.cpp

#include <iostream>

#include "trzeci.h"

using namespace std;

void funkcja()

{

cout << "Funkcja dziala!" << endl;

}

 

 

plik trzeci.h

 

void funkcja();

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...