Podział na pliki

Podział na pliki
X9
  • Rejestracja:ponad 5 lat
  • Ostatnio:ponad 4 lata
  • Postów:25
0

Chcę by ciało mojej funkcji znajdywało się nie w pliku main, a w osobnym pliku. Zrobiłem 3 pliki, wyskakuje komunikat, "funkcja was not declared in this scope".Funkcja ma przykladowo wypisywac X na ekranie.
main.cpp

Kopiuj
#include <iostream>
#include "hpp.hpp"
using namespace std;

int main()
{

    funkcja();
    return 0;
}

hpp.hpp

Kopiuj
#ifndef HPP_HPP_INCLUDED
#define HPP_HPP_INCLUDED

void funkcja();

#endif // HPP_HPP_INCLUDED

cpp.cpp

Kopiuj
#include <iostream>
#include "hpp.hpp"
using namespace std;
void funkcja()
{
    cout<<"X";
}
edytowany 1x, ostatnio: kq
matek3005
  • Rejestracja:około 15 lat
  • Ostatnio:prawie 5 lat
  • Postów:358
1

https://wandbox.org/permlink/mT2CDbGCY2zdUTVP

Przebuduj sobie projekt, bo kod który tu zamieściłeś wydaje się działać.

X9
  • Rejestracja:ponad 5 lat
  • Ostatnio:ponad 4 lata
  • Postów:25
0

Masz coś konkretnego na myśli, bo niestety ciągle nie działa. Może błędna ścieżka plików nagłowkowych, ale przy kliknieciu new,file c++ source/c++ header, wydaje mi się, że wybrałem prawidłową.

edytowany 1x, ostatnio: xyz91i
matek3005
Tak, konkretnie to miałem na myśli wykonanie clean+(re)build.
JV
  • Rejestracja:ponad 6 lat
  • Ostatnio:3 miesiące
  • Postów:242
0

nie napisałeś w czym to kompilujesz. U mnie działa:

Kopiuj
$ g++ -o main main.cpp cpp.cpp && ./main

może zamień nazwy hpp.hpp, cpp.cpp na lepiej opisujące to co jest w tym module, np. na funkcja.cpp i funkcja.h.

X9
  • Rejestracja:ponad 5 lat
  • Ostatnio:ponad 4 lata
  • Postów:25
0

Code Blocks. Zamiana nazw nic nie daje.

edytowany 1x, ostatnio: xyz91i
matek3005
Załącz tu plik projektu bo tak to możemy tylko zgadywać. Na pewno jest to problem konfiguracyjny, a nie błędu w kodzie.
matek3005
  • Rejestracja:około 15 lat
  • Ostatnio:prawie 5 lat
  • Postów:358
0

Ten plik nagłówkowy trzymasz w katalogu z pozostałymi plikami źródłowymi?

MarekR22
Moderator C/C++
  • Rejestracja:ponad 17 lat
  • Ostatnio:4 minuty
0

Jakiego IDE używasz, albo lepiej jakiego build managera używasz (jak wygląda plik projektu)?
Zależnie od tego jak wygląda organizacja twojego projektu, to problem leży w czym innym.
Może być to zła lokalizacja pliku nagłówkowego, ale rónie dobrze może być to brak wpisu dla INCLUDE_DIRECTORIES.


Jeśli chcesz pomocy, NIE pisz na priva, ale zadaj dobre pytanie na forum.
edytowany 1x, ostatnio: MarekR22

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.