PDA

Visualizza la versione completa : [C++] File d'inclusione


Il Pazzo
06-11-2006, 10:41
Ciao a tutti.... l'ultima cosa che mi rimane da capire sono i file d'inclusione... In breve... si possono paragonare ai moduli del VB???

Se dovesse essere cos, ho provato a metterci dentro la dichiarazione delle variabili (strutture etc etc...), poi ho provato a includere il file cos:

#include"HanoiTwr"


Ma mi da il seguente errore (Il file .h nella stessa cartella del file .cpp):
Impossibile aprire il file inclusione 'HanoiTwr': No such file or directory



Grazie ancora per l'aiuto...

oregon
06-11-2006, 10:47
No ... i file d'inclusione non c'entrano nulla con i moduli di VB.

Nei file di inclusione del C/C++ sono dichiarate le costanti, le enumerazioni, le strutture, le macro, le funzioni e le classi. Ma non va inserito del codice.

Se il file che hai creato si chiama HanoiTwr.h allora devi scrivere

#include "HanoiTwr.h"

Il Pazzo
06-11-2006, 10:53
Ahhh devo mettere il .h??? Se ho capito bene per il .h nelle librerie del C++ non si deve mettere perch altrimenti non conforme allo standard... corretto?

E infine... nel file d'inclusione ho messo una classe (la mia prima classe in cui capisco quello che faccio :) ) va bene?

grazie ancora

oregon
06-11-2006, 11:01
Ah ... ok ... allora e' probabile che il sistema abbia aggiunto il .h al file di include ...

Controlla che effettivamente non ci sia il .h

E usa gli spazi correttamente

#include "HanoiTwr"

Per la classe va bene se hai messo solamente la dichiarazione

class
{
...
}

con i membri.

Ma il codice dei metodi non va nell'include ma nel file .cpp di implementazione della classe.

Il Pazzo
06-11-2006, 11:14
Niente... la trovo strana sta cosa.. ma evidentemente normale... se levo il .h mi da quell'errore...

Sono andato nella cartella dove c' il file HanoiTwr e il .h non c' (li dovevo controllare giusto?)

oregon
06-11-2006, 11:53
1) sei sicuro che non c'e' il .h ? Puo' essere che explorer non ti fa vedere l'estensione? Prova da una finestra DOS ...

2) quale compilatore usi?

Il Pazzo
06-11-2006, 12:03
gi nel dos c' il .h... ma io non l'ho messo...

Uso il visual studio 2005... il file d'inclusione l'ho creato cliccando il tasto destro su "file d'intestazione" a sinistra... dove c' il mio progetto aperto... allora sicuramente per questo....

ti ringrazio ancora...


Vi ringraio per avermi pazientemente aiutato a capire la differenza tra .h, .lib e .dll e cosa sono le classi....

@ Alka: Mi scuso per il casino che ho combinato in questi due giorni :ciauz:

Ed_Bunker
06-11-2006, 12:18
Quindi nei .h si possono inserire solo dichiarazioni mentre per le definizioni occorre creare file .c/.cpp che andranno poi compilati ?

Il Pazzo
06-11-2006, 12:33
si... mi pare di aver capito cos... dichiarazione di attributi, metodi (per quanto riguarda le classi) , di variabili e (se ho capito bene) anche di prototipi di funzione... ma poi le funzioni vanno scritte nel file .cpp o quello che sia...

oregon
06-11-2006, 12:35
Tutto giusto ... ovviamente non e' che si "deve" ... ma e' la norma ...

P.S. Le variabili, se non sono membri di una classe, non vanno dichiarate nel .h

Loading