oon tehny tämmösen olion,jonka nimi on energy.hpp
class energy { int hp; int mp; };
ja oon liittänyt sen mun ohjelmaan näin
#include "C:\omat tiedostot\CPP\energy.hpp"
nii se väittää et kansio ei oo oikee,mutta se on oikee.
missä vois olla vika?
Ei kannata käyttää koko hakemistopolkua kun sisällytät tuota filua, laita vain:
#include "energy.hpp"
Olettaen että tiedostot ovat oikeilla paikoillaan.
Periaatteessa kääntäjällä voisi olla jotain noita kenoviivoja vastaan mutta ainakaan Mingw, VC++ 6.0 ja Intel C++ Compiler 8.0 eivät niistä välitä (kuten ei varmasti kuulukaan).
Oletko nyt *aivan varma* että tiedosto on paikallaan?
Kokeile laittaa noiden \-merkkien paikalle kaksi \-merkkiä :)
mikäs on se oikea paikka?jos tarkotat tota polkua mikä tos on (C:\omat tiedostot\CPP\energy.hpp) nii se on ihan oikein.vaa sehän ku on dos ohjelma nii nyt tulin miettineeks, että sehän ehkä pitäis olla C:\omatti~1\cpp\energy.hpp.kokeilen huomen ku en nyt jaksa käy kannettavankaa leikki.
Itsekkin epäilen, että tuo välilyönti aiheuttaa virheen (tai sitten yli 8-merkkinen hakemisto).
Helpommalla pääset kun tallennat h/hpp-tiedostosi c/cpp-tiedostojen kanssa samaan kansioon. Tällöin voit sisällyttää sen helposti:
#include "energy.hpp"
Kannattaa tehdä niinkuin tejeez sanoi tai sitten korvata kenoviivat kautta-merkeillä (/).
Virhe johtuu nimenomaan noista kenoviivoista. Cpp:ssa kun merrkijonoon voi merkitä merkkejä niiden ascii-koodeilla tai muilla merkinnöillä, esim "/n" on rivinvaihto. Joka tapauksessa kannattaa laittaa tiedosto joko samaan kansioon kuin projekti, jolloin pelkkä tiedostonimi riittää, tai lisätä ko. kansio kääntäjän include-dir -listaan.
Ikävä kyllä et maininnut kääntäjääsi niin ei voi tietää tuetaanko siinä pitkiä tiedostonnimiä.
Metabolix: kuten sanoin, ainakaan Mingw (eli GCC), VC++ 6.0 ja Intel C++ Compiler 8.0 eivät noista kenoviivoista välitä, siis ainakin niissä homma toimii vaikka ei laittaisikaan kahta kenoviivaa. Noita eskeippauksia ei luultavasti edes käsitellä ennen kuin tiedosto on mennyt preprosessorin läpi (#include on preprosessorin komento). Rivinvaihto on muuten \n :)
Heikki: myöskin välilyönnin kanssa ei ollut em. kääntäjillä mitään ongelmia.
edit: jäi lause kesken
Sori hirveästi, että tuli kenoviiva väärin päin :'(
Käytän dev-c++ ohjelmaa,siinähän on Mingw.
fawkz kirjoitti:
ainakaan Mingw (eli GCC), VC++ 6.0 ja Intel C++ Compiler 8.0 eivät noista kenoviivoista välitä, siis ainakin niissä homma toimii vaikka ei laittaisikaan kahta kenoviivaa
p-p kirjoitti:
Käytän dev-c++ ohjelmaa,siinähän on Mingw.
Niin minäkin, eikä ole vielä kertaakaan toiminut yhdellä keno(\)-viivalla, vaikka on monta kertaa tullut yritettyä.
Tällaisella testailin:
#include "C:\atmp\pekka\Uusi kansio\shit.txt"
Ja hyvin tuntuu toimivan :)
Itse kuitenkin omissa projekteissani käytän aina '/'-merkkiä ihan yhteensopivuussyistä. Mitään absoluuttisia hakemistopolkuja ei kannata käyttää koskaan.
edit: gcc --version -> gcc (GCC) 3.2 (mingw special 20020817-1)
muutin ton #include rivin tämmöseks
#include "energy.hpp"
ja nyt toimii
Kiitos vastauksistanne
Aihe on jo aika vanha, joten et voi enää vastata siihen.