Strona 1 z 1
[C++] Podział na pliki - no such file or directory
: 8 wrz 2013, o 14:47
autor: dav123
Mam taki bardzo prosty program, który podzieliłem na pliki. Niby wszystko jest dobrze, jednak wyskakuje taki błąd:
cannot open include file 'r.hpp': no such file or directory. Dodam, że używam visual studio. Co jest nie tak?
Kod: Zaznacz cały
#ifndef S_HPP
#define S_HPP
int Suma(int,int);
#endif
#ifndef R_HPP
#define R_HPP
int Roznica(int,int);
#endif
int Suma(int x,int y)
{
return (x+y);
}
int Roznica(int x,int y)
{
return (x-y);
}
#include "r.hpp"
#include "s.hpp"
#include <iostream>
using namespace std;
int main()
{
int a,b;
cin>>a;
cin>>b;
cout<<a<<" + "<<b<<" = "<<Suma(a,b)<<endl;
cout<<a<<" - "<<b<<" = "<<Roznica(a,b)<<endl;
return 0;
}
[C++] Podział na pliki - no such file or directory
: 8 wrz 2013, o 15:06
autor: dexter90
No chyba z komunikatu jasno wynika co jest nie tak? cannot open include file 'r.hpp': no such file or directory.
[C++] Podział na pliki - no such file or directory
: 8 wrz 2013, o 15:17
autor: dav123
nie można otworzyć pliku r.hpp : nie ma takiego pliku lub katalogu. jednak dopiero uczę się dzielić program na pliki i nie bardzo wiem co jest nie tak, gdyż przykłady w necie są tak samo napisane, jeśli chodzi o konstrukcję. Domyślam się jedynie, że może trzeba jakiś plik utworzyć, do tego pliku wpisać kod funkcji, czy coś i wtedy będzie działało, tylko nigdzie o tym nie jest napisane, gdzie co jak
[C++] Podział na pliki - no such file or directory
: 8 wrz 2013, o 15:57
autor: miki999
Te dwie linijki oznaczają, że dołączasz do projektu plik
r.hpp oraz
s.hpp. Jeżeli mówisz kompilatorowi, że dołączasz te pliki, a on nie może ich znaleźć, to wywala błąd - bo co mógłby innego zrobić?
Ty natomiast nie podzieliłeś wcale programu na kilka plików tylko umieściłeś wszystko w jednym.
Tutaj masz pokazany przykład włącznie z grafiką ilustrującą widok projektu: ... lowych/310

- AU
- 97.jpg (10.3 KiB) Przejrzano 509 razy
I to jest dopiero projekt z podziałem na pliki: plik
main.c,
nazwaPliku.cpp i plik nagłówkowy
nazwaPliku.hpp.
U Ciebie powinny być pliki
main.cpp,
r.cpp,
s.cpp i nagłówkowe (headers):
r.hpp i
s.hpp.
W zależności od środowiska programistycznego widok projektu może wyglądać różnie.
Nawet jeśli poprawisz ten przykład i Ci będzie działać, to polecam zrozumieć co każda z linijek w tym kodzie robi.
Pozdrawiam.
[C++] Podział na pliki - no such file or directory
: 8 wrz 2013, o 19:53
autor: dav123
mam 3 klasy. jedna bazowa pozostałe pochodne. w programie jest też zastosowany polimorfizm. czy da się te 3 klasy, podzielić na 3 pliki, 1 plik = 1 klasa.
próbowałem to zrobić tak ale błędy wyskakują
//klasa.h
Kod: Zaznacz cały
#ifndef klasa_h
#define klasa_h
class nazwaKlasy{
public:
virtual int fun1(int k, int l, int m, int n, char pole[10][10]);
};
//klasa.cpp
Kod: Zaznacz cały
#include "klasa.h"
int nazwaKlasy:: fun1(argumenty){
//ciało fun1
}
#endif
tak samo z klasą 2 i 3.
Albo jak w jeden plik te 3 klasy umieszczę to wyskakuje taki błąd: cannot open C:... for writing. Wiem co to znaczy ale nie wiem co zrobić żeby błędu nie było
Tak samo wyskakują mi błędy jeśli chcę w pliku umieścić szablon.
Robię to tak
Kod: Zaznacz cały
//szablon.h
#ifndef szablon_h
#define szablon_h
template<class T1, class T2>
void fun1 (T1 dm, T2 dd, int k, int l, int m, int n, char pole[10][10]);
#endif
// szablon.cpp
#include "szablon.h"
template<class T1, class T2>
void fun1 (T1 dm, T2 dd, int k, int l, int m, int n, char pole[10][10]){
//ciało fun1
}
Czy klasy , szablony jakoś inaczej się dzieli na pliki?