mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c++
Titolo: Scusate

Salve.
Sapreste dirmi  qual è l'ultima versione del compilatore C++ ?
E magari potreste consigliarmi anche un manuale per il C++, utile da
consultare in caso di problemi nella programmazione ?
Grazie mille
Ciao

Emy wrote:

Che vuoi dire con l'ultima versione del compilatore c++.....quale
compilatore?
Se intendi il linguaggio beh...il c++ é uno solo....se non intendi
questo specifica.
Se vuoi un manuale cerca thinking in c++ sul sito di Eckel!

 Ciao
L'ultima versione del compilatore Microsoft è la 6.0. Il thinking in c++
è ben fatto (e poi è gratis :-). Ciao FBF.

Ciao
Allora:
il C++ (il linguaggio)  e` stato standardizzato dall'ISO ed e` arrivato
(mi pare) al Draft v2. Ma questo non ti interessa.
Esstono poi vari compilatori:
Di quelli che conosco ecco le ultime versioni
GNU Compiler Collection (comprende un compilatore C++) 2.95.1
Borland C++ 5.02 
Borland Turbo C 3.0
Microsoft Visual C++ 6.0
Borland C++ Builder 4.0
DJGPP 2.03 (che si appoggia alle versioni DOS della GNU Compiler Collection)
--
Mail to 
maxg...@nettaxi.com
 to mail me!

Newsgroup: it.comp.lang.c++
Titolo: Forse sto sito serve ....C++

Ho trovato questo sito con  molti tutorials per neofiti c++ come me, che ne
pensate..
http://www.codeguru.com/



é dedicato principalmente a windows e mfc...
Antonio

Newsgroup: it.comp.lang.c++
Titolo: Come aggiungere l'icona dell'applicazione alla taskbar

Salve a tutti,
il mio problema è il seguente: ho sviluppato un'applicazione MFC con il 
Visual C++ 5.0 vorrei aggiungere l'icona dell'applicazione alla taskbar 
quando riduco ad icona l'applicazione.
Ringrazio anticipatamente per le risposte
Benjamin
-- 
Rimuovere NOSPAM dall'indirizzo e-mail per rispondermi privatamente

Devi usare la funzione Shell_NotifyIcon o qualcosa di equivalente in MFC.
Ciao
Antonio Donatiello

 wrote in message
news:7kkri5$mvr$1...@fe2.cs.interbusiness.it...
Devi usare la funzione Shell_NotifyIcon o qualcosa di equivalente in MFC.
Non mi risulta esista niente altro di equivalente.
Anzi la presenza di questa unica funzione per manipolare la Tray Area della
barra delle applicazioni, ne costituisce il vero limite nell'utilizzo.
Ciao.

Ben ha scritto nel messaggio ...

Su 
www.codeguru.com
 ci sono degli articoli proprio su questo argomento.
Ciao
Terenzio
Newsgroup: it.comp.lang.c++
Titolo: Curiosità STL & Allocator

Non ho ben afferrato l'utilità di allocator:
class Prova
{ ... };
typedef list<Prova*, allocator<Prova*> > listaprova;
listaprova lp;
Non è sufficente:
class Prova
{ ... };
typedef list<Prova*> listaprova;
listaprova lp;
Grazie di tutto.

listaprova lp;
É sufficiente sí, nel C++ Standard, perché fra le varie
cose ammette argomenti di default ai template (e il
default per list<class X, class A=allocator<X>> é
appunto, come dice la sintassi, allocator<X>).  Vale
la pena di esplicitare il parametro A solo se NON é
l'allocatore standard.  Forse questo codice viene da
un compilatore non-standard, che non ammette gli
argomenti di default ai template.
Ragioni per usare allocatori non-standard possono
essercene tante.  Ad esempio, in Win-32 (W95/98,
W/NT) potrei fare un allocatore che: si crea una
Heap privata; al "free" di ogni area liberata non la
libera davvero; su richiesta poi molla tutta la Heap.
Se so che sto per costruire una lista a cui poi devo
solo *aggiungere* elementi, senza mai toglierne
sino alla fine, questo approccio funziona come un
allocatore standard ma MOLTO piú veloce alla
terminazione (con un vector non sarebbe invece
molto furbo, perché, man mano che cresce, deve
liberare memoria oltre che acquisirne...!).
Altri esempi possono essere allocatori in memoria
condivisa fra processi (con le opportune salvaguardie),
in memoria "persistente" (idem), e cosí via.
Alex
Newsgroup: it.comp.lang.c++
Titolo: funzioni presa di input non bloccanti.

Salve a tutti!
Ho un piccolo grattacapo che mi assilla da tempo: se io volessi realizzare
un programma che riceve gli input da tastiera ma non si interrompe
aspettando un particolare input(ad esempio la pressione dell'invio), come
posso realizzarlo?
Mi spiego meglio:
 mettiamo che questo sia il ciclo principale del programma
while(1) { //ciclo infinito.. vabbe' non e' importante
    char x;
    x=0;
    Prendi(x); //<------ Questa l'ipotetica funzione che deve beccare un
input dalla tastiera, e
                  // se nn c'e' input (nessun tasto premuto) deve tornare 0,
senza bloccare il
                //programma... come la posso realizzare?
    switch(x){
        case 'a':
               //Blocco a
               break;
        case 'b':
                // Blocco b
              break;
        default:
             // qui nn fa nulla
        break;
    }
    //Resto del programma... da eseguire anche se nn c'e' input..
}
Qualcuno puo' aiutarmi?
grazie!
Joshi

 ha scritto nel messaggio
news:yY7O8.11314$Kt3.2...@twister2.libero.it...


 Ciao.
Non credo che possa ottenere cio' che vuole. L'unica soluzione e' usare
funzioni specifiche del suo sistema operativo.
Ciao,
Nicola

 > Be, ormai l'hai scritto. continua così.


tutto questo solo per prendere un carattere da tastiera?????.
Sì, quello che vuole fare non lo può fare con il C++ standard.
-- 
Marco Barisione (ICQ 84277092)

 ha scritto nel messaggio
news:2tjjgu8c00gopoerp...@4ax.com...


 sul buffer utilizzato...Io pensavo ad utilizzare una strada di questo
tipo.
Probabilmente e' la strada migliore, vi informero' sui risultati.
Riguardo il discorso portabilita' non era nel mio interesse, mi bastava
sapere se esistesse qualcosa di predisposto nello standard per fare una cosa
del genere... grazie!
Joshi

sul buffer utilizzato...Io pensavo ad utilizzare una strada di questo tipo.
Può essere il sistema operativo stesso che manda la stringa al
programma solo quando vuole lui.

Newsgroup: it.comp.lang.c++
Titolo: CComboBox

Salve a tutti ragazzi...
stò cominciando a sviluppare le mie prime applicazioncine in VC++ 6.0
quindi mi scuso in anticipo se vi porrò delle domande che a voi
sembreranno banali...
Ho il seguante problema...voglio sviluppare una funzione che,passata in
input una combo essa la riempie con dei valori specifici...
Non riesco a capire però come devo passare la combo dalla form
chiamante...
Es:
void FillCombo(CComboBox *fControl)
{
	fControl->AddString("primo elemento");
	fControl->AddString("secondo elemento");
	fControl->AddString("terzo elemento");
	fControl->SetCurSel(0);
}
la combo presente sulla mia form la chiamo m_Combo
come passo m_Combo alla funzione FillCombo ?
Spero possiate aiutarmi e vi ringrazio anticipatamente....
Un saluto a tutti

Ciao,
Questo newsgroup si occupa del linguaggio C++ in quanto tale, e non di
aspetti specifici di particolari implementazioni, come ad esempio
C++/CLI. Per questo non e' il posto piu' adatto per porre domande
specifiche come la tua.
Potresti avere piu' fortuna su uno dei seguenti gruppi:
Per Win32 (95, 98, NT): it.comp.programmare.win32
Per Dos/Win 3.x: it.comp.os.dos
Per Linux:	it.comp.os.linux.development
Per C++Builder:	i gruppi borland.public.cppbuilder.*, disponibili sul
		server 
newsgroups.borland.com
 (prevalentemente in
		inglese, ma si puo' postare anche in italiano)
Grazie,
Nicola Musatti
Newsgroup: it.comp.lang.c++
Titolo: tyedef e identificatori - C

ciao
a parte la dichiarazione della struttura,
che diff c'e' tra le due parti tratteggiate sotto?
typedef Prossimo *PTR;  è modo differente di chiamare Prossimo o è un 
puntatore?
struct Nodo
{
  char c;
  struct Nodo *Next;
};
------------------------------------
typedef struct Nodo Prossimo;
Prossimo *Lista1;
--------------- OPPURE ---------------------
typedef struct Nodo Prossimo;
typedef Prossimo *PTR;
PTR *Lista1;
------------------------------------
grazie

 PTR *Lista1;
Questo è un puntatore ad un puntatore a Nodo.
E.


Non , non ci dovrebbe essere nessun cambiamento perche alla fin fine
fa la stessa identica cosa


Attento, non e' affatto la stessa cosa, guarda meglio! ;)
ciao
Giacomo
Newsgroup: it.comp.lang.c++
Titolo: borland compiler

Ho appena scaricato da 
borland.com
 il free c-compiler 5.5
e lo ho subito installato, ma non ho assolutamente capito come
si fa partire.   devo usarlo da dos?

 wrote in message
news:38FD912C...@chemiome.chm.unipg.it...


 wrote in message
8dk4kl$7s2rn$1...@fu-berlin.de...


Bolognini wrote:

Grazie tante sei stato di molto aiuto!
ciao

si fa partire.   devo usarlo da dos?
Se hai un BCB precedente al 5 basta che sposti i files della cartella
BIN del BCC55 in quella del BCB, e poi avvii il BCB. Ora funzionerà
correttamente!
--
DGP85
Se vuoi ricevere informazioni su come guadagnare con
Internet, scrivimi a 
di...@cdfreaks.zzn.com
 o visita
il mio sito all'indirizzo 
http://dgp85.spedia.net/

Sul newsgroup it.comp.lang.c++
hai scritto che bisogna modificare un file e che era scritto su il numero
nuovo di programmazione .Ma dove si trova questa rivista?Grazie.


Anch'io ho il Bcc55 ma come si fa ha modificare il file autoexec Se mi puoi
dare una mano Grazie.

 dare una mano Grazie.
Aprilo con un editro di testo (edit, NotePad,..).
Aggiungi
PATH=C:\Borland\BCC5\BIN;%PATH%
e salva.
C:\Borland\BCC5  (default) devi sostituirlo con la directory dove hai
salvato il programma, se l'hai specificata diversamente.
Achille

dare una mano Grazie.
Vai sul prompt di DOS, ti posizioni su c: e digiti 'edit
autoexec.bat', poi aggiungi la riga con i path e salvi le modifiche,
riavvii il sistema e tutto dovrebbe andare per il verso giusto.
Il Ghenio
-----
James: Adesso so finalmente cosa provano i panni messi in lavatrice!
Jesse: Avremo bisogno di un candeggio!!
(Team Rocket)
-----
Newsgroup: it.comp.lang.c++
Titolo: Delete()

Un'altra domanda stupida( per le quali sto diventando famoso ormai )
Data una classe i cui attributi sono puntatori ad altre "strutture"
(allocate quindi in memoria tramite una new()), chiamare la delete() su
un'istanza della suddetta classe mi va a deallocare anche le strutture
puntate o solamente i puntatori?
Io credo la seconda che ho detto, ma vorrei conferma
Grazie e alla prossima

 Io credo la seconda che ho detto, ma vorrei conferma
Hai perfettamente ragione. Causeresti infatti un memory leak.
Alessandro

 Grazie e alla prossima
bye
-- 
David
To err is human...to really foul up requires the root password.

 Io credo la seconda che ho detto, ma vorrei conferma
Esatto.
EMG

 wrote in message
news:XHnX6.893$i51....@news2.tin.it...

La seconda che hai detto, infatti. Proprio per questo esistono costruttori e
distruttori. Le strutture puntate le allochi nel costruttore e le allochi nel
distruttore. In questo modo tutto diventa "automatico" perche' new richiama il
costruttore e delete richiama il distruttore.
--
Andrea Ferro
---------
Brainbench C++ Master. Scored higher than 97% of previous takers
Scores: Overall 4.46, Conceptual 5.0, Problem-Solving 5.0
More info 
http://www.brainbench.com/transcript.jsp?pid=2522556



La seconda.
Se una classe A dichiara un puntatore ad una classe B il distruttore
della classe B non viene chiamato automaticamente quando viene
eseguito il distruttore della classe A(del resto sarebbe una cosa
assurda, fonte probabilmente di pesanti inconsistenze), ma se tu che
devi chiamarlo esplicitamente con una delete.
Il Ghenio
-----
ZIO : Fun and games are over with. Anyone who dares
get in my way shall perish.
DIO ci salvi dagli ocx del Viral Basic.
-----

 wrote:

Tutto quel che crei lo devi anche distruggere.
Alternativamente potresti implementare un meccanismo
tipo quello dell VCL : al padre, la classe, dici ogni volta
quali sono i figli, poi nel distruttore cicli su tutti i figli e li
deallochi.
Io preferisco gestire creazioni e distruzioni, allocando le risorse
solo quando mi servono, per poi deallocarle subito dopo.
Rob
---
http://www.toolstech.it
Il portale del professionista della meccanica
Newsgroup: it.comp.lang.c++
Titolo: esami di fondamentiII

Ciao a tutti , dall'oggeto avrete intuito che devo fare esami e dovrei
sapere usare C++ ... ma ehmm esistono testi che lo spieghino "come se fossi
una bambina di 4 anni?"
grazie :)

 "come se fossi una bambina di 4 anni?"
Parti dal tutorial di Paolo Marotta
http://www.programmazione.it/Articles/corso/index.htm
poi, se devi apporfondire passa al Thinking in C++
di Bruce Eckel (lo trovi su 
www.bruceeckel.com
 )
In formato cartaceo consiglio il libro di Lippman
"C++ Corso di programmazione" Terza Edizione
ed. Addison Wesley
http://www.gorilla.it/gorilla/product.asp?sku=8871920716&dept%5Fid=
Infine, segui questo newsgroup e se hai domande, chiedi.
Ciao
--
Gerolamo

scusa ma non hai già fatto fondamenti I ??? Ora che ci penso forse hai usato
il pascal...
ciao

 ha scritto nel messaggio
news:wYeq9.25312$RO.6...@twister1.libero.it...

Una bambina di 4 anni che ha gia' dato Fondamenti 1, e che quindi
dovrebbe gia' sapere le basi della  programmazione.
O no?
--
Roal Zanazzi

 ha scritto nel messaggio
news:wYeq9.25312$RO.6...@twister1.libero.it...



La sintassi si', ma i costrutti di base sono uguali in (quasi) tutti i
linguaggi di programmazione.
Comunque in bocca al lupo e, se fai Ing.Informatica, NON "comprare" il
progettino da altri! ;-)
<Un Roal che ai suoi tempi per Fondamenti 1 ha dovuto impararsi il
Modula 2 :-) >
--
Roal Zanazzi

 linguaggi di programmazione.
Intanto il Pascal e' puramente imperativo, mentre il C++ supporta anche 
programmazione ad oggetti e programmazione generica.
In secondo luogo linguaggi che supportano paradigmi diversi, come quello 
funzionale o quello logico, forniscono ovviamente costrutti orientati 
allo specifico paradigma.
Ciao,
Nicola

"Nicola Musatti" <Nicola....@ObjectWay.it> ha scritto

Nulla da eccepire, stavo solo spiegando "come se fosse una bambina di 4
anni", dopo tutto l'ha chiesto lei ;-)
Ovviamente non entro nel discorso Object Pascal (aka Delphi), etc...
etc... (ma non si e' specificato quale "Pascal" e quale "C++")...
Comunque mi riferivo al paradigma imperativo ed in particolare ai
costrutti primari che si possono trovare dall'assembly in su (cicli,
salti, ...). Chiaro che se poi andiamo a prendere in considerazione
programmazione ad eventi, o se tentiamo di confrontare linguaggi
puramente OO con altri misti (ma non mi pare di averlo fatto), il mio
discorso cade.
--
Roal Zanazzi
Newsgroup: it.comp.lang.c++
Titolo: distruttore privato

Non capisco perché se dichiaro il distruttore privato, le classi 
derivate non possono avere un costruttore. Ad esempio:
class Base {
   private:
   ~Base();
};
class Derived: public Base {
   private:
   Derived() {}; // ERRORE: `Base::~Base()' is private
};
Io vorrei che tutte le classi derivate da Base possano essere distrutte 
solamente tramite una apposita funzione (friend di Base).
E.

 Non capisco perché se dichiaro il distruttore privato
Perché è inacessibile, come ti dice il compiltore.
Se lo dichiari *protected* avresti del codice funzionante.
-- 
mai più senza: 
http://www.genux.com/scheda.asp?idprod=47974
la cultura è importante: 
http://www.libreriadellautomobile.it

 Se lo dichiari *protected* avresti del codice funzionante.
Sì, certo. Volevo capire perché, visto che io non sto accedendo al 
distruttore, ma solo al costruttore.
E.

 distruttore, ma solo al costruttore.
quando l'oggetto viene distrutto viene invocato ~Derivata e
 successivamente ~Base, quest'ultimo essendo privato non può essere
chiamato e l'oggetto non può essere distrutto correttamente; quindi
penso che non te lo faccia neanche costruire visto che poi non sarai in
grado di distruggerlo.
Ciao

 distruttore, ma solo al costruttore.
Il C++ non è un linguaggio dinamico stile Python. Se non puoi 
distruggerlo allora è inutile crearlo, anzi è inutile far andare a buon 
fine la compilazione. In un linguaggio dinamico puoi creare un oggetto 
e poi cambiarlo aggiungendo funzioni al volo o dati membro.



Posso distruggerlo utilizzando una funzione friend di Base... Eppoi se 
non metto nessun costruttore non mi da nessun errore!
Ad esempio il seguente codice non da errore:
class Base {
   private:
   ~Base() {};
   friend void destroy(Base *b) { delete b;};
};
class Derived: public Base {
   private:
};
main () {
   Derived *d=new Derived;
   destroy(d);
};
e neanche questo (!) da errore, perché l'oggetto non viene mai cancellato:
main () {
   Derived *d=new Derived;
};
Mettendo invece
main() {
   Derived d;
};
si ottiene (giustamente!) un errore, perché l'oggetto d dev'essere 
distrutto alla fine del main.
E.

 };
quando usi un puntatore non ti da errore perchè non viene chiamato
automaticamente il distruttore alla fine del main, mentre nell'altro
caso si.
Ciao

Newsgroup: it.comp.lang.c++
Titolo: Shildt

Scusate gira voce che il libro Guida al C++ di Herbert Shieldt della Mc
Grawi Hill siampieno di stronzate sieteb d'accordo?
Io un po ci ho studiato (forse è per quello che nn sto imparando un cavolo)
voi conoscete qualcosa di meglio e soprattutto + attuale e soprasoprattutto
in italiano???
Grazie molte Alex

alex wrote:

ti consiglio di leggerti le FAQ di questo ng (le trovi su 
cpp.programmazione.it
), troverai anche alcune risposte alla tua domanda.
ciao Anto
-- 
Antonio Cuni, 19 anni, studente
Brainbench C++ Master: 4.6, higher than 98% of all previous test takers.
C Language: 3.32, higher than 79% of all previous test takers.
Guida C/C++ di Programmazione.it: 
http://cpp.programmazione.it
Newsgroup: it.comp.lang.c++
Titolo: AIUTO!!!

Sono un novello apprendista di c++ sto iniziando ora... anzi domani a
studiare c++ e non ho la piu' pallida idea di che cosa sia... mi hanno
consigliato dei testi ma non so neanche da dove iniziare... sono spinto
dalla passione x i linguaggi informatici e dalla curiosita'...
C'e' nessuno tra di voi che fosse cosi' gentile da illustrarmi le
potenzialita' di c++ visto che e' cosi' famoso e in termine pratico a che
cosa serve? Cioe' in parole povere
1) Ci faccio programmi? e se si di che tipo?
2) Con quali altri linguaggi lo posso unire?
3) Un esempio famoso creato in C++?
4) sotto che S.O. gira un compilatore di tale linguaggio...
Chi vuole puo' postarmi le risposte all'indirizzo e-mail qui sotto!!!
GRAZIE 1000.
--
Fra...@tiscalinet.it

 4) sotto che S.O. gira un compilatore di tale linguaggio...
Credo ne esistano implementazioni per tutti i sistemi operativi.
EMG

Newsgroup: it.comp.lang.c++
Titolo: CD e autorun

un mio amico che fa il grafico pubblicitario ha realizzato un CD
multimediale con Director. vorrebbe sapere come far avviare automaticamente
l'applicazione, all'inserimento del CD.
grazie.
MarioH

 l'applicazione, all'inserimento del CD.
Vedi 
http://www.soft-land.org/faq/autorun.html
Davide
Newsgroup: it.comp.lang.c++
Titolo: Dove componenti per Builder C++ 4 ??

Salve a tutti,
ho appena installato la versione 4 del Builder C++ adesso vorrei sapere dove recuperare altri componenti e come poterli
installare.
Grazie per l'aiuto !
Bye Bye Morpheo
--
PGP Fingerprint: 2247 78B0 B86A F438 C7A3  54A9 27C7 9ED9 CD25 7589
Rimuovere NO_SPAM_ per rispondere via e-mail
"... e Dio disse Maxwell e luce fu' !"
--

Ciao,
Anche io sono alla ricerca, molti indirizzi che avevo sono di siti scomparsi
o in perenne lavoro in corso...
Intanto prendi questo:
www.rxlib.com
Poi cerca sul c++BuilderWebRing
Poi questi altri:
BASEURL=
http://rosin-datentechnik.de/rosin-online/sw/cbuilder/
BASEURL=
http://www.cbdn.cjb.net/
URL=
http://www.drbob42.com/cbuilder/index.htm
    (Dottor bob)
BASEURL=
http://members.aol.com/zbuilder/resource.htm
Morpheo <morpheo@NO_SPAM_freemail.it> wrote in message
394901ce...@news.libero.it...


http://torry.rimini.com
 Componenti per Builder e Delphi (spesso gli stessi
componenti fatti per entrambe le piattaforme)
www.infomedia.it
 nel mirror DELPHI SUPER PAGE
Il Biondo

[CUT]
Ok grazie per le info; adesso ho un'altro favore da chiederti.
Ho recuperato i vari file dal sito soprascritto, li ho decompattati e ho cercato di installare i pacchetti ma .... ecco
la sorpresa: messaggi d'errore come se piovesse.
Sicuramente e' la mia procedura di installazione che e' errata, mi potrestri dire a grandi linee cosa sbaglio ?!?!
1_Decompatto il file rxlib275.zip in una directory (quella di dafault dell'installazione)
2_Lancio il builder c++
3_Nella sezione "component" apro "install component"
4_Inserisco il nome del file xxx.CPP nel primo campo, lascio invariato il secondo e inserisco nel terzo il nome del file
xxx.BPK.
5_Clicco su OK ma mi viene chiesto dove trovare il file xxx.BPI che pero' sul mio HD non e' presente !!!!!!
6_Annullo, inizia la compilazione il linkaggio e alla fine niente, errore "Non trovo il file xxx.BPI"
Qual'e' la procedura corretta da utilizzare ?
Grazie


Stai attento che insieme a RXLib ti danno un file dove spiega come
installare i pacchetti...
L'unica cosa che devi fare é installarli con un certo ordine, e poi non fare
come dicono loro ma installarli mediante la pressione dell'apposito pulsante
(Compile Package e Install Package)... non mi ricordo di preciso, come li
avevo installati, comunque seguendo questi consigli dovresti farcela.
Morpheo <morpheo@NO_SPAM_freemail.it> wrote in message
394b936...@news.libero.it...

Newsgroup: it.comp.lang.c++
Titolo: URGENTISSIMO!!!!!!!!!!!!!!!!!!!!!!!!!!





Ciao a tutti


Chi mi può dire come aprire uno specifico file word 
srivendo del codice  in visual c++?


grazie



 wrote in 
  message 
001201c091b2$402bea80$1401...@aexis.net
...


Per favore, evitate di postare in HTML.
Grazie,
Nicola


Non gridare e non postare in HTML.
Basta che lanci il programma che apre i .doc e gli passi come parametro
il file da aprire.
spawnlp (P_NOWAIT, "WINWORD.EXE", WINWORD.EXE", "FILE.DOC", NULL);   //
#include <process.h>
ShellExecute (NULL, "open", "FILE.DOC", NULL, NULL, SW_SHOWMAXIMIZED);  
// #include <shellapi.h>
-- 
Ciao, gengisdave
http://digilander.iol.it/gengisdave
Linux Registered User    # 198292
Linux Registered Machine # 88280

Newsgroup: it.comp.lang.c++
Titolo: Puntatori a funzioni membro in stato di ereditarietà virtuale

class A
{
    void FuncA();
    void Init()    { ChiamaFunc(&A::FuncA; }            // Funziona: viene
chiamata effettivamente FuncA()
    void ChiamaFunc( void (A::*p_func)() )        { (this->*p_func)(); }
    int m_varA;
};
class B : virtual public A
{ 
    void FuncB();
    void Init()    { ChiamaFunc(&B::FuncB); }        // Funziona: viene chiamata effettivamente FuncB()
};
class C : virtual public A
{
    void FuncC();
    void Init()    { ChiamaFunc(&C::FuncC); }        // Funziona: viene chiamata effettivamente FuncC()
};
class D: public B, public C
{
    void FuncD();
    void Init()    { ChiamaFunc(&D::FuncD); }        // Non compila!
    int m_varD;
};
Sia il compilatore Microsoft Visual C++ 6.0 (SP4) che l'Intel 4.5 non compilano la riga indicata in quanto è implicata una conversione da puntatore a funzione membro di una classe derivata a puntatore ad una funzione membro di una classe di base virtuale.
Per passare la barriera dei compilatori, si può forzare con
void Init()    { ChiamaFunc(reinterpret_cast< void (A::*)() >(&D::FuncD) ); }        // Ora compila
ma a runtime hanno luogo prevedibili comportamenti erratici: si entra effettivamente nel corpo di D::FuncD(), tuttavia cercando di modificare D::m_varD viene effettivamente modificato A::m_varA, perché gli offset delle variabili membro della classe D (zero in questo caso) vengono applicati a partire dall'indirizzo della classe A, modificando quindi m_varA.
Qualche soluzione (anche costrutti alternativi)?

 Qualche soluzione (anche costrutti alternativi)?
Tipo scrivere codice sensato? Non puoi chiamare un membro di B passandogli come
this un puntatore ad A. E se lo fai a causa di un baco o di una forzatura, stai
sicuro che vai incontro a guai.
Andrea Ferro
---------
Brainbench C++ Master. Scored higher than 97% of previous takers
Scores: Overall 4.46, Conceptual 5.0, Problem-Solving 5.0
More info 
http://www.brainbench.com/transcript.jsp?pid=2522556
Newsgroup: it.comp.lang.c++
Titolo: g++/cygwin: che libreria?

Ciao a tutti,
Dopo "anni" di C++Builder sto iniziando a utilizzare il gcc di cygwin.
Ho pero' la sensazione che la libreria standard sia notevolmente
arretrata/incompleta. Voi cosa utilizzate?
Ciao,
Nicola

arretrata/incompleta. Voi cosa utilizzate?
Ma hai scaricato l'ultima versione?
-- 
DGP85                | May the Force be with you!
http://thedaps.net/
  | No Binaries or HTML at this address.
http://www.dgp85.com
 | Don't change the address.


Ti riporto cosa suggerì tempo fa Maurizio Loreti.
Perche' LE LIBRERIE non sono le piu' recenti...  Se lo desideri puoi
prelevare dal sito della FSF la libstdc++ 2.90.8 (ultima release
stabile della libreria standard versione 3) ed istallarla accanto od
al posto di quella a corredo di g++ 2.95.2 (ancora versione 2).
Attenzione che l'operazione non e' affatto indolore, perche' IL
COMPILATORE non e' fatto per generare di default codice adatto alla
libstdc++ v3 (ad esempio non effettua di default il name mangling per
il namespace std); dovresti leggere _molto_attentamente_ tutte le
istruzioni a corredo.
Oppure potresti aspettare g++ 3.*...  Che pero', a giudicare da quanto
scritto su 
www.gnu.org
, tardera' parecchio.  Comunque la libreria v3
e' usabile e molto aderente allo standard.
Manlio Perillo

Ho solo quella distribuita con Cygwin 1.1.4, che appare come g++-3, ma
che non mi pare comprendere ad esempio <limits> .
Ciao,
Nicola



Hmm, hai provato ad aggiornarlo con SourceWare alla 1.1.5?


No, anche perche' pensavo che la versione disponibile da Cygnus/Red Hat
fosse la piu' recente. Nel frattempo sto provando ad utilizzare STLport
4.0 .
Ciao,
Nicola

Newsgroup: it.comp.lang.c++
Titolo: Prestazioni, compilazione VB,VC questioni generali

Salve,
volendo capire più in profondità l' origine delle differenze in termini di
prestazioni che caratterizzano i vari linguaggi
di programmazione vado a descrivere questa situazione.
Un applicativo scritto in C/C++ risulta avere delle prestazioni in termini
di velocità maggiori di un programma scritto in
visual basic.
Ciò è quanto comunemente molti programmatori affermano e io vorrei capire le
ragioni tecniche di questo fatto.
Infatti supponiamo di compilare in codice nativo un programma VB , esso per
funzionare a run time si appoggia
alla libreria msvbvm60.dll. Un programma C/C++  invece ho letto che
utilizza una altra libreria di
run  time  la msvcrt.dll.
Ora, La differenza di prestazioni  nasce soltanto dalla differenza di
prestazioni di queste 2 librerie ?
Oppure il compilato nativo di VB è di per se meno ottimizzato di quello
prodotto dal
compilatore VC ?
In tal caso le prestazioni del Vb potrebbero essere teoricamente superiori a
quelle del VC se qualcuno per ipotesi scrivesse un compilatore migliore ?
Con l'avvento di .NET tutte le applicazioni scritte nei vari linguaggi
 avranno un compilato comune noto come  IL, questo significa che uno stesso
programma o routine particolare scritto in
VB.net e in VC.net dovranno
avere le stesse prestazioni in termini di velocità ?
Grazie a chi vorrà chiarire queste questioni.




Newsgroup: it.comp.lang.c++
Titolo: Package questo sconosciuto!!!

Possibile che nessuno mi sappia aiutare?!
Una volta inserito un file con il Builder 4 dentro un OleContainer (quindi
creando un package), come e' possibile estrarlo, senza eseguirlo, integro
come l'originale ?
Grazie anticipate!

Per cortesia evita di cross-postare.
E' una pessima abitudine che hanno molte persone su Usenet.
Tanto piu' che il tuo messaggio e' off-topic in questo gruppo di
discussione. Avresti fatto meglio a spedirlo su
it.comp.programmare.win32 e basta.
Non ti meravigliare, poi, che nessuno ti sappia aiutare, perche'
probabilmente, in gruppi dove questo messaggio e' OT, nessuno ti VUOLE
aiutare.
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
--------------------------------------------------------------
"Partire e' un po' morire e morire e' partire un po' troppo !"
--------------------------------------------------------------

Newsgroup: it.comp.lang.c++
Titolo: Riferimenti incrociati

Ciao a tutti,
vi espongo un dubbio decennale che ho.
Se ho due classi:
class event;
class net {
	public:
		void foo(event &e);
};
class event {
	public:
		manipulateNet(net &n);
};
... esiste un modo per permettere a net
di interagire su event, e anche ad event
di interagire su net?
Col forwarding posso dire a net "esiste la
classe event", ma non posso trattare metodi
e attributi di event... mentre per come ho appena
scritto il codice queste cose posso farle con event.
Esiste una soluzione?

 Esiste una soluzione?
scrivi le implementazioni _dopo_ le dichiarazioni. In questo modo le 
classi saranno gia' definite, e tu scriverai, tra l'altro, codice (imho) 
piu' chiaro.
-- 
/**
  * Mattia Belletti - Undergraduate student @ 
cs.unibo.it
  * ICQ: 33292311   - email: 
mbel...@cs.unibo.it
  * IRC: BluShine   - site(s): 
http://cs.unibo.it/~mbellett
  * Linux registered user 299762 @ Linux registered machine 213003
  */


Grazie 1000, sei stato gentilissimo.
Ps. Mitico! ;)

...

Il modo piu' elegante per spezzare una dipendenza ciclica e'
individuare la classe che piu' ragionevolmente dipende dall'altra e
farla derivare da una classe base astratta. Nel tuo caso se supponiamo
piu' logico che net dipenda da event piuttosto che il contrario
definiremo:
class abstractNet {
  // metodi virtuali puri corrispondenti all'interfaccia di net
};
class event {
  public:
    manipulateNet(abstractNet &n);
};
class net {
    public:
      void foo(event &e);
};
In questo modo non hai piu' bisogno di far "vedere" net a event.
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: QGraphicsItem ***grid;

Saluti.
Mi date due dritte su questa cosa?
QGraphicsItem ***grid;
grid = new QGraphicsItem **[height];
costruttore del QGraphicsItem (anche se non credo interessi):
QGraphicsItem::QGraphicsItem ( QGraphicsItem * parent = 0 );
QGraphicsItem è una virtuale pura
Lasciando perdere cosa fa la classe... 
Non capisco cosa si stia facendo.
anche perchè, continuando a leggere....
grid = new QGraphicsItem **[height];
 
for (int y = 0; y < height; ++y) {
     grid[y] = new QGraphicsItem *[width];
     [...]
}
tutto il codice serve a gestire una griglia di item/immagini, tipo la 
tastiera di un cellulare.
mi pare che si stia creando un array di puntatori... o simile.
Giusto?
Grazie
Mario

     grid[y] = new QGraphicsItem *[width];
Per ciascun elemento grid[y] (gli [0], [1], ..., [h-1] del livello 1),
alloca width elementi di tipo QGraphicsItem* (quindi gli elementi da 0
a w-1 del livello 2).

 Giusto?
Mi pare sia una matrice heightXwidth di puntatori a QGraphicsItem.
Ciao 

 struttura a tre livelli:
Ok
chiaro.
Grazie mille ad entrambi per le risposte.
Mario
Newsgroup: it.comp.lang.c++
Titolo: Grazie Bill...

NT4 SP4 VS6 C++ SP1
Non riesco piů a fare il debug del mio progetto (3 anni di lavoro per 3 mega
di C++) cosa che con VS5 SP3 funziona benissimo per un grazioso "Unhandled
exception in xxxx.exe (NTDLL.DLL); 0xC0000095: Integer Overflow" che compare
prima ancora che il mio applicativo venga eseguito.
C'č qualcuno con cui condividere le mie frustrazioni?

...


C'è qualcuno con cui condividere le mie frustrazioni?
Non credo di poterti essere utile... ma io ho una configurazione simile, e a
parte un errore quando compila, (qualsiasi cosa), che fa riferimento ad un
file %CL% non mi da problemi....
Buon ANNO
Lorenzo

Come sempre le patch risolvono dei problemi ma ne introducono altri...
1 - Avere l'SP4 puo' essere il problema.
2 - Hai provato a cancellare tutti i files generati dal compilatore
    (salvando ovviamente l'intero progetto in 30 copie minimo),
lasciando 
    solo i files sorgenti, di progetto e di workspace????
3 - Hai provato a compilare il tuo progetto con altri compilatori 
    (watcom,borland, Cygnus Win32)??

-- 
// ----------------------------------------------
// Fausto Fabbioni            
// E-Mail: 
fabb...@freelance.it
// ----------------------------------------------


... togliete Ino dal mio nome per e-mail ...

Ho seguito il vostro consiglio ma...
ho risolto il problema in un altro modo (ho rifatto il progetto e gli
ho attaccato tutti i sorgenti)  ed è andato tutto a posto (WOW!)
Fausto Fabbioni sei stato molto simpatico!


 ... togliete Ino dal mio nome per e-mail ...
-- 


C'č qualcuno con cui condividere le mie frustrazioni?
Hai provato con la gestione strutturata dell'eccezioni? In quel caso
l'errore sarebbe spedito alla tua funzione, e l'applicativo non sarebbe
terminato dal S.O.
Il tuo applicativo e' un unico malloppone, o e' diviso in piu' dll + 1 exe?
Nel secondo caso non c'e' bisogno del mio consiglio per compilare con il VC6
solo una dll alla volta fino a beccare l'errore.
--- (Elimina il papero per le repliche) ---


... hai ragione. Il mio applicativo era un .exe con piů DLL, infatti
l'errore si verificava proprio nel momento di caricamento di tutte le
dll che avevo linkato al progetto.
Comunque sia ho risolto il problema rifacendo il progetto da 0.
Grazie comunque. Ciao.

Newsgroup: it.comp.lang.c++
Titolo: TSR

Ciao , volevo chiedervi se si possono fare in tsr anche per windows , se si
puo mandatemi degli esempi o scrivetemi come si fa , grazie!!!!!!!!!!!

 puo mandatemi degli esempi o scrivetemi come si fa , grazie!!!!!!!!!!!
Non esistono i TSR per windows!
Il TSR era una necessitą per DOS che poteva gestire un solo processo per
volta, ma con windows puoi averne quanti ne vuoi.
Rifletti: il compito di un TSR č quello di lasciare il controllo (SO)
all'utente in modo che possa essere eseguito un altro programma ma,
contemporaneamente, non essere terminato del tutto.
In windows (e Linux, etc), basta semplicemente che tu NON fai terminare il
programma.
Se invece intendevi qualcosa di diverso, tipo "come faccio a fare un
programma "invisibile a windows" o "come faccio a fare un programma che
sembra sparito ma č ancora attivo", devi rivolgerti su
it.comp.programmare.win32
--
Alessandro Monti
Newsgroup: it.comp.lang.c++
Titolo: Come pilotare la porta seriale

Salve a tutti
qualcuno sa' dove posso trovare degli esempi per pilotare la porta seriale
in VC++ 6.0 ?
Grazie
Sergio

>in VC++ 6.0 ?
Su piattaforma Windows puoi usare OpenFile() per aprire la porta, ReadFile e WriteFile per leggere e scrivere. In piu' ci sono delle funzioni per impostare la porta (SetComm...).
Ciao
Antonio Donatiello

Newsgroup: it.comp.lang.c++
Titolo: c++ builder

potreste dirmi come fare un semplice prog che legge in input 2 num e torna
la somma. Non ho dimistichezza con l'input/output delle finestre windows. Vi
prego aiutatemi.
GRAZIE!!!

...


Newsgroup: it.comp.lang.c++
Titolo: <no subject>

Salve a tutti.
Ho un problema in fase di Link con una definizione di template.
E' una mia realizzazione di una macchina a stati.
Vi posto un pezzo del codice:
<<file header>>
template <int nStates, int nEvents>
class FSM
{
...
}
<<costruttore della classe template>>
template <int nStates, int nEvents>
FSM<nStates, nEvents>::FSM(int InitialState)
{
	m_CurrentState = InitialState;
...
}
<<file in cui uso il template>>
void Worker::createFSM()
{
	m_pFSM = new FSM<STATES_NUMBER, EVENTS_NUMBER>(WAIT);
	assert(m_pFSM);
...
}
Dove STATES_NUMBER, EVENTS_NUMBER sono due enum dichiarati (risp 4 e 6).
In fase di compilazione tutto bene,ma in fase di link mi riporta i seguenti 
errori:
Creating library ..\lib/EngineUtility.lib and object 
..\lib/EngineUtility.exp
Worker.obj : error LNK2001: unresolved external symbol "public: __thiscall 
FSM<4,6>::FSM<4,6>(int)" (??0?$FSM@$03$05@@QAE@H@Z)
Qlcuno ha qlche consiglio da darmi?
Se occorrono altri pezzi di codice lo richieda. Magari anche in privato.
Ogni tanto nn riesco a vedere il newsgroup.
Grazie a tutti coloro che leggeranno e posteranno dei cosigli o loro 
opinioni.
oPKo
_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at 
http://www.hotmail.com
.
-- 
Posted from [195.99.244.2] by way of 
law2-f70.hotmail.com
 [216.32.181.70] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Questo genere di problemi e' spesso legato al compilatore utilizzato,
tiro comunque a indovinare: non e' che hai definito i metodi del tuo
template in un file diverso da quello in cui hai dichiarato la classe?
I template funzionano in modo diverso dalle classi normali e l'intera
definizione deve essere visibile a tutte le porzioni di codice che
utilizzano il template. Il modo piu' semplice per ottenere questo e'
inserire le definizioni dei metodi nello header file che contiene la
dichiarazione del template.
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: Un consiglio molto tecnico

Vorrei un vostro parere circa questo spezzone di codice sorgente che
testa se sul sistema e' presente fisicamente il drive B:
#include <stdio.h>
#include <dos.h>
  int TestDrive(int drive)
 {
  union REGS reg ;
  reg.h.bl = 1 ;
  reg.h.ah = 0x44 ;
 
reg.h.al
 = 0x0E ;
  intdos(&reg,&reg) ;
  return 
reg.h.al
 ;
 }
 void main(void)
{
 int driveA , driveB ;
 driveA = 1 , driveB = 2 ;
 driveA = TestDrive(driveA) ;
 driveB = TestDrive(driveB) ;
/* il drive B: non esiste sul sistema */
 if ( driveA == driveB ) driveB = 0 ; 
}
Esiste forse un metodo migliore e piu semplice ?
grazie .
~~~~~~~~~~~~~~~~~
MAINARDI Gianfranco
Burago di Molgora (MI)
Italia
Email : 
main...@tin.it
ICQ# number : 11607125
~~~~~~~~~~~~~~~~~


~~~~~~~~~~~~~~~~~

Newsgroup: it.comp.lang.c++
Titolo: 42/A

Carissima Elena, credo proprio che ci conosciamo, anche se non ricordo ben
in quale occasione ci siamo incontrati!
Ti ringrazio molto per la solerte risposta, io ho lk'esame il 19 e sto un
po' rivedendo i vari applicativi.
Volevo chiederti un'ultima informazione: hanno lasciato l'help in linea
degli applicativi?
A presto, cosě ci scambiamo quattro battute, dopo una quindicina d'anni!
Antonio Maddalosso

Per la serie: e a noi? Guarda dove posti...
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: Restituzione di puntatore da funzione

Ho alcuni dubbi che spiego nell'esempio che segue:
#include <iostream>
using namespace std;
 int GiveInt(void)
  {
   int a=1;
   return a;
  }
 int * GivePointer(void)
  {
   int *a;
   int b;
   b=2;
   a=&b;
   return a;
  }
int main(void)
 {
 int a;
 int *b;
 a=GiveInt();
 b=GivePointer();
 cout << a << " " << *b << endl;
 cin >> a;
 return 0;
 }
La funzione GiveInt() crea un int, lo passa alla variabile a di main, e poi
lo distrugge.
La funzione GivePointer() crea un int e un puntatore, passa il suo indirizzo
a b di main, e distrugge sia il puntatore che l'int, ma a questo punto, il
puntatore b di main a cosa punta? Immagino che in qualche modo venga creata
una variabile nascosta di tipo int a cui il puntatore possa puntare visto
che l'originale restituito dalla funzione non dovrebbe esistere più.
Qualcuno mi può spiegare il funzionamento della cosa?
Grazie.

 ha scritto nel messaggio
news:GibP7.5973$Yc1.1...@news1.tin.it...

GiveInt assegna alla variabile a di Main il valore numerico 1,
GivePointer restituisce un valore ad una locazione di memoria che potrebbe
essere stata sovrascritta. Perchè  ritorni il valori 2 la funzione
GivePointer andrebbe riscritta in questo modo
int * GivePointer(void)
{
    int *a;
    static int b;    // in questo modo l'indirizzo è conservato
    b=2;
    a=&b;
    return a;
}

 Grazie.
bella curiosità..paragono la situazione...
se in C determini una variabile o un puntatore e nn inizializzi a cosa punta??
a niente, semplicemente prende i valori che trova dentro..
questo succede anche in C++ con l'eccezione che i puntatori, grazie al
compilatore (nn tutti credo) vengono inizializzati a NULL quando nn usati.
Se non inizializzasse a NULL punterebbe ancora alla cella di memoria
restituita dalla funzione.
ciao duido
-- 
Posted from  [62.98.114.162] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 }
Ho capito. O meglio, vediamo se ho capito: il codice che ho scritto funziona
e restituisce il valore che mi aspettavo, ma devo quindi dedurre che sia un
caso, ovvero se più avanti il compilatore avrà bisogno dello spazio puntato
dalla variabile locale b dentro GivePointer(), il puntatore di main non
funzionerà più.
Quindi variabile static, e il risultato puntato deve essere salvato subito
in una variabile, prima che la funzione venga richiamata, come nell'esempio
seguente:
#include <iostream>
using namespace std;
  int * GivePointer(int x)
   {
    int *a;
    static int b;
    b=x*2;
    a=&b;
    return a;
   }
 int main(void)
  {
  int a,b,*c;
  c=GivePointer(2);
  a=*c;
  c=GivePointer(4);
  b=*c;
  cout << a << " " << b << endl;
  cin >> b;
  return 0;
  }


si, così funziona
Newsgroup: it.comp.lang.c++
Titolo: [NEWBIE] Dubbio su dichiarazione funzioni...

che differenza c'è fra:
const int getData();
e
int getData() const;
sono equivalenti o c'è qualche differenza che mi sfugge, sono agli
inizi col c++ e vorrei capire meglio questa cosa
grazie a tutti
-- 
bye BlackMagic
ICQ# 85485468

 
il primo mi dice che getData() restituisce un intero costante, mentre il 
secondo mi dice che getData() non modifica lo stato dell'oggetto.
Il secondo caso mi serve se creo un oggetto costante. Una chiamata 
generica puň modificare l'oggetto (che non sarebbe piů costante). Mentre 
dicendo alla fine const, indico al compilatore che tale metodo č 
permesso anche per oggetti costanti.
Luigi

"Luigi 'Comio' Mantellini" <lmant...@hotmailNOSPAMPLEASE.com> wrote in
message news:2fsua.43425$DN.10...@tornado.fastwebnet.it...

mmmm non i sembra che tu sia stato molto chiaro.
Vediamo se ci riesco io:
Supponendo che entrambi siano metodi di una classe:
Il primo dice che il metodo torna un intero costante, nota che tornando
una intero invece che un reference ad un intero il fatto di specificare
const e' "quasi inutile", vediamo dopo quando e' utile.
Con il secondo metodo esprimi il fatto che il metodo non modifichera' lo
stato interno dell'oggetto su cui ci chiami il metodo, qualche esempio per
chiarire:
    class A
        int myVar;
        ...
        int getData() const { .... }
    };
    A a;
    const A &b  = a;
    b.getData();    <- OK
    se non avessi dichiarato getData() const allora nel punto
    b.getData(); avresti un errore in fase di compilazione,
    infatti non puoi chiamare un metodo non const ( che quindi
potenzialmente
    puo modificare l'oggetto ) su una istanza const.
    La cosa e' utile anche perche se per caso dentro l'implementazione
    di getData() const   ti scappasse un  myVar = 3;    anche qui
    avresti un errore a compile time che ti avverte che non puoi
    modificare lo stato interno di un oggetto ( membri della classe )
    in un metodo dichiarato const.
Ritorniamo al fatto se sia utile o meno dichiarare:
const int getData();
cosi' facendo l'unica cosa che eviti e' impedire di
scrivere:
    A a;
    a.getData() = 3;
che e' un errore difficile da commetere, ma ora pensa
ad un operatore qualsiasi:
    class A {
        ...
        const int operator+(const A & value);
    };
    in questo caso ti eviti l'errore piu' probabile:
    A a,b,c;
    a + b = c;
Ciao
Gaetano


[CUT]
rispondo a te e ringrazio entrambi per la risposta,
dopo questo posso dire che mi avete chiarito un bel dubbio,
anche perchè quello che credevo erronenamente era che i due
tipi di dichiarazione fossero uguali e che mi sarei ritrovato
a dichiarare const <tipo> <funzione> () credendo che il funzionamento
fosse uguale a  <tipo> <funzione> () const
ciao e alla prossima :-))

Newsgroup: it.comp.lang.c++
Titolo: richiesta siti utili

Buongiorno a tutti,
volevo chiedervi un'informazione.
Seguo il newsgroup di Visual Basic e questo ha un sito
dove è possibile reperire progetti già sviluppati, eseguibili
e ocx già compilati, oltre a faq, link, informazioni varie.
Esiste un sito analogo anche per questo newsgroup?
Grazie.
Marco

 Esiste un sito analogo anche per questo newsgroup?
www.programmazione.it
EMG
Newsgroup: it.comp.lang.c++
Titolo: Compilatore della Borland

Buon Giorno a tutti ed un saluto al ng.
Sono un principiante ed aspirante programmatore di C++.
Ieri ho scaricato dal sito della Borland il compilatore free denominato
BCC55.
Dopo averlo installato  ho provato a compilare il mio primo programma in C++
Ma con mio sommo stupore il compilatore sembra non riconoscere le librerie e
gli altri
percorsi creati in fase di installazione \LIB, \INCLUDE.
Ecco a voi i messaggi di errore ch il compilatore mi restituisce:
«C:\Programmi\Borland\BCC55\Bin>bcc32
c:\Programmi\Borland\BCC55\MyCPP_Files\Grades.cpp
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
c:\Programmi\Borland\BCC55\MyCPP_Files\Grades.cpp:
Error E2209 c:\Programmi\Borland\BCC55\MyCPP_Files\Grades.cpp 5: Unable to
open include file 'iostream'
Error E2282 c:\Programmi\Borland\BCC55\MyCPP_Files\Grades.cpp 9: Namespace
name expected in function main()
Error E2451 c:\Programmi\Borland\BCC55\MyCPP_Files\Grades.cpp 14: Undefined
symbol 'cout' in function main()
Warning W8004 c:\Programmi\Borland\BCC55\MyCPP_Files\Grades.cpp 16:
'numero2' is assigned a value that is never used in function main()
Warning W8004 c:\Programmi\Borland\BCC55\MyCPP_Files\Grades.cpp 16:
'numero1' is assigned a value that is never used in function main()
*** 3 errors in Compile ***
»
Ed ecco il mio codice sorgente:
// Primo programma di esempio
// compilato con Borland C++ BCC32
// Il compilatore è stato trovato da IO PROGRAMMO N°69
#include <iostream>
int main()
{
 using namespace std;
 int numero1;
 int numero2;
 numero1=12;
 numero2=23;
 cout << (numero1+numero2);
 return 0;
}
Mi sapreste aiutare??
Grazie Marco

 ha scritto nel messaggio
news:birZa.235777$Ny5.7...@twister2.libero.it...


Grazie ci provo

 Grazie ci provo
Assieme al compilatore c'č un file che spiega tutto...
Comunque:
http://groups.google.it/groups?hl=it&lr=&ie=UTF-8&oe=UTF-8&selm=XfjZ7.11931%24%25B.437235%40twister2.libero.it
-- 
Gerolamo (buone vacanze, ci si sente il 25!!!)

 #include <iostream>
manca un'acca.... #include <iostream.h>


 manca un'acca.... #include <iostream.h>
No, č giusto cosě secondo lo standard. iostream.h era il vecchio header
usato prima dell'uscita dello standard.
-- 
Marco Barisione
http://spazioinwind.libero.it/marcobari/

 manca un'acca.... #include <iostream.h>
non manca l'h !!!!!!! stai usando un inclusione non standard del c++ !!! il
c++ standard include le sue librerie senza l'estensione finale !!!!
ciao