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

Come si può definire f al di fuori del corpo di A?
template <class CP>
struct A
{
     typedef enum {DEF} Enum;
     template <Enum ENUM> void f() {}
};
int main()
{
     A<int>().f< A<int>::DEF >();
}
Kiuhnm

 Come si puň definire f al di fuori del corpo di A?
Qualcosa del genere?
template <class CP>
template < typename A<CP>::Enum ENUM>
void A<CP>::f()
  {
  //...
  }
Forse e' piu' corretto cosi':
template <class CP>
template < typename A<CP>::Enum ENUM>
void A<CP>::template f()
  {
  //...
  }
Ciao.

Ciao, Kiuhnm.
Chi si rivede :-)

Ho fatto qualche indagine e direi che la situazione e' triste, anche
se aspetto una conferma su comp.std.c++ . Il problema e' che gia'
questo esempio compila con solo un compilatore dei quattro che ho
provato:
template <typename T> struct A {
    template <typename U> void f();
};
template <typename T> template <typename U>
void A<T>::f<U>() {
}
int main() {
    A<int> a;
    a.f<double>();
}
Il paragrafo dello standard coinvolto e' il 14.5.2 (1), che in effetti
fa solo riferimento ad un caso in cui il parametro del template e'
deducibile e quindi non e' necessario specificarlo subito dopo il nome
della funzione membro.
Il dramma e' che il compilatore che accetta questo esempio e' quello
che uso io e il mio codice e' costellato di queste cose, sigh.
Ciao,
Nicola

 }
Kiuhnm

 Come si puň definire f al di fuori del corpo di A?

Soluzione trovata!
template <class CP>
struct A
{
	typedef enum {DEF} Enum;
	template < typename A<CP>::Enum ENUM > void f();
//	template <Enum ENUM> void f();	// su VC2005 questo non va!
};
template <class CP>
template < typename A<CP>::Enum ENUM >
void A<CP>::f() {}


   }
Purtroppo il VC2005 non lo accetta. Dovrebbe trattarsi di un bug.
Kiuhnm

 > }
In effetti questo funziona con tutti i compilatori. Oggi non ci sto
con la testa.
Ciao,
Nicola

 Purtroppo il VC2005 non lo accetta. Dovrebbe trattarsi di un bug.
In effetti avevo avuto problemi simili anch'io con il gcc, tempo fa, che poi
sono scomparsi con le versioni successive del compilatore.
Comunque vedo che nel frattempo hai risolto :-)
A me succedeva che codice tipo questo non compilasse, anche se a guardarlo
mi sembra lecito:
template < unsigned int N >
class array
  {
  public:
    int value[N];
  };
template < typename T >
class MyClass
  {
  public:
    static const unsigned int SIZE = 42;
    typedef array<MyClass::SIZE> myArray;  // cosi' ok
    //typedef array<SIZE> myArray;         // cosi da errore
    MyClass( const myArray& v );
  };
template < typename T >
MyClass<T>::MyClass( const typename MyClass<T>::myArray& v ) {}

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

CClasse ScrollView (MFC 4.0)....
ho una vista che contiene membri CString e immagini CDib
vorrei trasferirla "cosi' come la vedo" negli appunti
quale č il modo piů semplice per farlo ?
A tutti voi buon anno !!!


... togliete Ino dal mio nome per e-mail ...
Newsgroup: it.comp.lang.c++
Titolo: Visual C++ 6.0 - AFFIDABILE ?????

Mi e' arrivato l'aggiornamento del contratto MSDN contenente anche il Visual
Studio  6.0.
Come l'ho visto ho cominciato a leggere la documentazione per installarlo e
qui sono cominciate le dolenti note....
Nelle note all'installazione c'e' scritto (traduzione + o - fedele):
<< Importante!.... questa e' una beta e va installata solo su macchine
destinate al test e non su quelle di produzione.
Prima di installare la "Release Candidate" rimuovere manualmente la vecchia
versione ... per essere sicuri di una completa rimozione l'unico sistema e'
di riformattare la macchina.... >>
Ora letto questo e non avendo una macchina di test mi domandavo se mi
conveniva effettivamente installare la nuova versione o aspettare la
definitiva dato che la produzione deve continuare......
Qualcuno di voi che ha gia' fatto l'installazione mi puo' spiegare come e'
andata ?
Ciao e grazie.
Fabrizio

andata ?
Bene, per quel poco che ci ho fatto (sulla macchina "vera",
naturalmente, tengo installato e ben saldo VC++5 SP3 --
sicuramente almeno sino a settembre!).  "Giochetti" a parte,
ho ad esempio usato nuove opzioni del wizard ATL (che ha
fatto un po' fatica a partire, ma poi a cucci e spinte e` alla
fine andato:-) per generarmi automaticamente il sorgente
VC++ necessario ad implementare (come "scheletro") certe
interfacce che avevo gia` definite in una type library -- era
un pezzo che ci voleva questa feature in VC++, se non altro
per stare alla pari dei vari "implements" Visual Basic e
JavaTLB, JactiveX, ecc... il codice cosi` generato posso
poi portarlo sul vecchio ma solido VC++5 dove, con l'ATL
2.1, compila benissimo.
Il VJ++6 e` la parte piu` eccitante del Visual Studio 6, ma
anche la piu` "immatura" -- decisamente meno solida di
VC++6 e di VB6.  Ma anche questi ultimi due, se non su di
una macchina specificamente di prova, non e` sicuro
istallarli al posto del VC++5 e VB5 -- anche se le esperienze
che senti in giro dai primi smanettoni sono positive, come
la mia, questo non costituisce base sufficiente per rischiarci
su il tuo codice...!!!
Alex

Newsgroup: it.comp.lang.c++
Titolo: Piccolo problema da newbie

Scusate ragazzi,
sto imparando il C++ xche', un giorno, vorrei fare un videogames...
x adesso non essendo all'altezza chiedo il Vs. aiuto.
Il problema e' d'avvero banale...
ho un'applicazione dos che, quando do il run di borland, apre una finestra fa il suo lavoro e
finisce...
quando apro l'exe invece si blocca per la fine esecuzione.
Vorrei sapere che comando devo mettere alla fin  e affinche' l'utente abbia il tempo di leggere
prima che la finestra si chiuda... ho meglio ancora che l'utente prema un tasto.
Grazie per l'aiuto
 -=NT SPP Member=-
www.spippolatori.com

>prima che la finestra si chiuda... ho meglio ancora che l'utente prema un tasto.
getch()
Antonio Donatiello

Antonio Donatiello
Grazie


Meglio getchar() che č standard.
EMG
Newsgroup: it.comp.lang.c++
Titolo: Operatore Or

int a = 7;          // Binario 111
int b = 9;         // 1001
int c =  a | b ; // Risultato 15 Binario 1111
Ora, avendo solo il 15 e il 9, si può risalire al 7?
Grazie

 int c =  a | b ; // Risultato 15 Binario 1111
E' una domanda di matematica, non di C++.
E la risposta e' no. L'insieme {x| x or b = c} ha cardinalita' 1 solo se b=0, ma
ha cardinalita' 2 se b=1 (ovviamente x,b e c sono booleani).
Nel caso specifico dell'operatore or bitwise, supponendo 9 e 15 come valori di b
e c da valori multipli di a.
In altre parole: x|9==15 e' vera per x che vale 6, 7, 14 oppure 15
--
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

 Ora, avendo solo il 15 e il 9, si può risalire al 7?
no, non e' una funzione invertibile.
Newsgroup: it.comp.lang.c++
Titolo: Attenzione: variabili impazzite!!!

Ciao programmatori!
Ho proprio bisogno di un chiarimento. Mentre i miei studi sono ormai volti alle
classi e alle bassi dell' OOP, un programmino stupido fatto per esercizio mi sta
facendo impazzire. vengo al punto: questo e' il codice per trasformare un numero
decimale nel suo equivalente in binario.
===============================================
#include <iostream.h>
#include <math.h>
const int BIT = 32;
int i, j, y;
double x;
main()
{
   int bin[BIT][1];
   for (i=0; i<BIT-1; i++)
   {
      bin[i][1]=0;
   }
   cout << "Inserisci il numero decimale da convertire in binario: ";
   cin >> x;
   for (i=BIT;i>=0;)
   {
      if ((pow(2, i)) <= x)
      {
         cout << "Impossibile eseguire: il numero e' maggiore a "
              << BIT << " bit!";
         y++;
         break;
      }
      if ((pow(2, i)) > x)
      {
         if ((pow(2, (i-1))) > x)
         {
            bin[i-1][1]=0;
            i--;
            continue;
         }
         else if ((pow(2, (i-1))) == x)
         {
            bin[i-1][1]=1;
            break;
         }
         else if ((pow(2, (i-1))) < x)
         {
            bin[i-1][1]=1;
            x = x - pow(2, (i-1));
            i--;
            continue;
         }
      }
   }
   for (i=BIT-1;i>=0; i--)
   {
      if (y>0) break;
      if (bin[i][1]==0) continue;
      if (bin[i][1]==1)
      {
         for (j=i; j>=0; j--) cout << bin[j][1];
      }
      cout << endl;
      break;
   }
   return 0;
}
===============================================
Quello che non capisco e' il perche', trasferendo (a parte la const) una
qualsiasi delle definizioni delle variabili *dentro* main, la funzione non
funziona piu', da risultati scorretti oppure si interrompe bruscamente.
Grazie in anticipo per eventuali risposte.

Io direi che e' gia' un miracolo che parta il programma, dato che sei
disallocato in
bin[...][1]
Avendo dichiarato bin[BIT][1], puoi utilizzare solo bin[...][0]!
Ciao ciao :-)
Zak



Mamma mia, che stupido errore da distrazione :(...
Grazie tante per avermelo segnalato. Cmq la cosa che non mi spiego e' rimasta:
se copio la dichiarazione delle variabili di ciclo (int i, j, y;) nella funzione
di main il programma si esegue, ma non vi e' restituzione di risultato.
Se invece all'interno di main le dichiaro e contemporaneamente le inizializzo a
zero tutto funziona alla perfezione.
Il mio libro non mi sembra per niente chiaro rispetto a quanto avviene
fisicamente nella macchina (allocazioni e deallocazioni di memoria) in casi come
questo. Se qualcuno me lo potesse spiegare mi sarebbe molto utile...
Ciao e grazie. Ampex
Newsgroup: it.comp.lang.c++
Titolo: Il 2000, le date e il C++

Salve a tutti,
forse quello che sto per dirvi č un pň OT, abbiate un pň di pazienza vi
prego.
Si dice che nel 2000, i computer andranno in "tilt", per un problema di
date, potete chiarirmi dove sta il problema? ho sentito molte versioni, ma
poche esatte!
Si dice pure che aumenteranno i posti di lavoro per i programmatori proprio
per questo motivo, č vero?
Sono gia stati sviluppati da qualcuno sorgenti in C++ in grado di far
fronte al problema in modo efficiente? 
-- 
____________________________________________
                   IF WINDOWS IS THE ANSWER...
YOU DON' T HAVE UNDERSTAND THE QUESTION!!
____________________________________________

fronte al problema in modo efficiente?
Si`, in C++ come in tutti gli altri linguaggi del mondo, il problema non
e` certo quello di sistemare un offset aritmetico in piu` o in meno, ma
di scartabellare su centinaia di migliaia di righe mal commentate e
peggio strutturate per capire QUALI delle tante manipolazioni siano
manipolazioni di date.  Il C++, come tutti gli altri linguaggi relativamente
recenti, e` comunque poco toccato dal problema, perche` poca, nei
programmi sviluppati di recente, e` stata la tentazione di risparmiare
un nonnulla di spazio -- e piu` chiaro e` stato, col passar degli anni,
il prezzo che si sarebbe dovuto pagare per questo minuscolo risparmio
(mentre a chi programmava in Cobol nel '65 non passava per la testa
che il suo programma potesse essere ancora in uso nel 2000...;-).
Alex
Newsgroup: it.comp.lang.c++
Titolo: Ritornare un array da funzione

Come faccio a scrivere una funzione che mi ritorni alla main un array di
int?
            Riccardo


Non si può far ritornare un array ad una funzione, ma solo il puntatore
al primo elemento dell'array. Ad esempio:
#include <iostream>
using namespace std;
int arr[3] = {1, 2, 3};
int * fun() {
    return arr; //arr punta al primo elemento dell'array
}
int main()
{
    for (int i=0; i<3; i++)
        cout << fun()[i] << endl; 
	/*fun()[i] è il valore che stà ad offset pari 
  	  a i*sizeof(int) dall'elemento puntato da fun() */       
    cin.get();
    return 0;
}
 
Ciao,
Cecco

 al primo elemento dell'array.
E per passare gli altri elementi?
Grazie comunque 
        Riccardo


Quando dichiari un array di qualunque tipo, il nome dell'array decade al
puntatore al primo elemento; questo vuol dire che se ho:
int arr[3] = {1, 2, 3};
allora arr punta al primo elemento dell'array, cioè è equivalente a
&arr[0]. L'i-esimo elemento dell'array, arr[i], avrà indirizzo pari a
&arr[0] + i*sizeof(int), quindi quando si scrive arr[2] è come se
scrivessi implicitamente *(arr + 2) (contenuto della cella di memoria
che stà ad offset 2 dalla cella puntata da arr). Quindi, riprendendo
l'esempio che ti ho fatto, f() ritorna arr, cioè il puntatore ad arr[0],
quindi per ottenere l'elemento i-esimo basta fare f()[i], equivalente a
*(f() + i); questo è esattamente quello che viene fatto nel codice che
ti ho postato, quando ho usato il ciclo for.
Spero di essere stato abbastanza chiaro.
Ciao,
Cecco

int?
Non puoi ritornare un array vero e proprio, però puoi fare come ti ha
suggerito Francesco Betti o puoi passare un puntatore ad un array che
viene poi riempito nella funzione:
void f(int* a){
    a[0] = 3;
    a[1] = 5;
}
int main(){
    int array[2];
    f(array);
    return 0;
}
Però devi già sapere quanti elementi vuoi mettere in array.
Un'altra soluzione potrebb essere:
int* f(int * n){
    int * a = new int[10];
    *n = 10;
    return a;
}
Che ti restituisce un array e in n scrive il numero di elementi che ci
sono. Il problema è che però devi ricordarti di fare una delete[]
sull'array ritornato.
Per semplificare notevolmente le cose ti consiglio però di usare i
vector.
-- 
                    Marco Barisione (ICQ 84277092)
Se sei interessato alla creazione di it.comp.lang (per i linguaggi di
programmazione senza un gruppo apposito e per i confronti fra i
linguaggi) partecipa alla discussione sul manifesto su it.news.gruppi.

al primo elemento dell'array. Ad esempio:
In realta', si potrebbe incapsulare l'array in una
struttura.  In questo caso l'array verrebbe restituito tutto
per valore.
-- 
The Follet

allora arr punta al primo elemento dell'array, 
Non necessariamente.
Vedi sopra.
Il nome dell'array decade nel puntatore al primo elemento, a
meno che non sia argomento di sizeof e/o l'operatore
address-of (&), oppure sia uno "string literal" di
inizializzazione di un vettore.
-- 
The Follet
Newsgroup: it.comp.lang.c++
Titolo: NEWSGROUP SU BUILDER ???

Se c'è ditemelo altrimenti lo creamo.
Maurizio

In italiano non c'e'.
Sono favorevolissimo a crearlo !
Andrea Murru
-> 
amu...@tin.it
 <-
http://www.pegacity.it/informatica/case/473/index.htm

 Sono favorevolissimo a crearlo !
anch'io!!

Andrea Murru
Anch'io.
Vi appoggio!!
Ciao Luca
     Ciao Luca.

Maurizio
Anche io !!!


Anche Io !!!!


Sono d'accordo, a questo punto qualcuno dovrebbe interessarsi per la
richiesta al GCN.
--
Ciao, AntoGal
*************************************************
Home Page (area programmatori di VolFtp)
http://www.volftp.vol.it/IT/IT/ITALIANI/galletta
per scaricare un gioco di Dama Italiana.
*************************************************

Salve,
esiste giá un newsgroup nuovo, nuovo dedicato a Builder che attende
solamente di essere utilizzato.
il suo indirizzo di server é :
news.shoresoft.com
selezionare poi :
marcocantu.public.italian.cpp
Newsgroup: it.comp.lang.c++
Titolo: Aiutatemi, sto impazzendo.

Ciao a tutti,
ho ancora un problema riguardante il mio gestore di rubrica di cui avevo
parlato in un post di qualche giorno fa. Riassumendo ho scritto quattro
classi: Contatto, ContattoPersonale e ContattoProfessionale che ereditano da
Contatto, e ListaContatti. In quest'ultima ho un oggetto v di tipo
vector<Contatto*> che raccoglie i vari contatti di qualunque tipo siano, per
esempio con il comando:
v.push_back(new ContattoPersonale(nickname, nome, indirizzo, tel));
Fin qui tutto bene. Il problema è che vorrei ordinare v secondo la
ridefinizione del operatore < che ho dato in Contatto:
  bool operator<(const Contatto c) const {
      if (nome < c.nome) return true;
	  else if (nome == c.nome)
		  if (indirizzo < c.indirizzo) return true;
		  else if (indirizzo == c.indirizzo) return (tel < 
c.tel
);
	  return false;
  }
Per fare ciò ho usato il metodo sort nel seguente modo:
sort(v.begin(), v.end(), minore);
bool minore(const Contatto* c1, const Contatto* c2) {
    return (*c1 < *c2);
}
Io uso Microsoft Visual C++ 6 e mi da errore C2664 sulla riga del metodo
sort.
Cosa posso fare?
Grazie
Ciao
Franco
P.S. certo che il C++ è proprio un linguaggio rognoso. Abituato a Java
pensavo di finire questo progettino in due giorni ed è già una settimana che
ci lavoro
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 sort.
Dovresti mostrare il testo completo dell'errrore. C2664 č il "cannot 
convert parameter...", ma senza sapere di che parla, difficilmente si 
possono fare ipotesi.
'minore' č una funzione *globale*, giusto?
Max


Grazie
Franco


 no, minore č una funzione definita all'interno della classe ListaContatti.
Ti sei dimenticato di dichiararla 'static'.
Max


--------------------------------
Inviato via 
http://arianna.libero.it/usenet/
Newsgroup: it.comp.lang.c++
Titolo: Bloccare un costruttore

 distruttore dall'interno del costruttore?
Uscire dal programma dall'interno del costruttore non mi sembra una buona
idea, anche se sarebbe comunque possibile introducendo una semplice
chiamata a "exit()".
Piuttosto e' piu' "normale" effettuare il controllo all'esterno:
if (DetectSoundBlaster) {
	OO oggetto;
	...
} else {
	...
	exit(0);
}
ricordandosi che cosi' la variabile "oggetto" e' visibile solo all'interno
del blocco if individuato dalle parentesi graffe (almeno credo).

distruttore dall'interno del costruttore?
di solito non e' una buona idea uscira dal programma da un
costruttore, specialmente se si lasciano dei membri non inizializzati.
IMHO, in questi casi e' meglio scrivere un costruttore che si limiti
alle inizializzazioni di default e fare i test veri e propri in una
funzione che puoi chiamare Init o un altro nome di tuo gradimento.
classe OO {...}
OO:OO()
{
}
BOOL OO::Init()
{
if( !DetectSounBlaster )
	return FALSE;
return TRUE
}
void main()
{
 OO o;
 if (!o.Init())
	exit(1);
}
Gianpaolo Bottin
- Live Long and Prosper -

distruttore dall'interno del costruttore?
Pessima idea uscire da un costruttore, comunque puoi lanciare
un'eccezione.
pippo::pippo()
{
	if (NoWaltDisney == true)
	{
		trow ( Paperino() );
	}
	....
}
(Elimina il papero per le repliche)
Newsgroup: it.comp.lang.c++
Titolo: Problema con questo programma

Ciao a tutti,ho un piccolo problema con questo programmino che non mi
funziona (non so x quale motivo dato che vi č anche nel libro di Lippman!):
#include <iostream>
#include <fstream>
#include <string>
int main()
{
 ofstream outfile("out_file");
 ifstream infile("in_file");
 if (! infile)
    {
     cerr <<"Impossibile aprire il file input!\n";
     return -1;
    }
 if (!outfile)
    {
     cerr<<"Impossibile aprire il file output!\n";
     return -2;
    }
 string parola;
 while (infile >> parola)
        outfile << parola << ' ';
 return 0;
}
Riuscite a darmi una mano?Grazie infinite!
Ciao da Magogeta!

[...]
Ciao
Marco Barisione (ICQ 84277092)

 Ciao da Magogeta!
ciao
xaero

Newsgroup: it.comp.lang.c++
Titolo: Sviluppo software per WinCE

Sono interessato allo sviluppo di software per Windows CE 2.0.
Ho sentito parlare di un Kit Microsoft da abbinare a Visual Studio (o VC++ o
VBasic).
Quanto costa ?
Qualcuno ce l'ha ?
Il linguaggio é lo stesso ? (cioé Visual Basic rimane Visual Basic o no ?)
Ho scaricato l'SDK per WInCe ma ho notato che l'emulatore funziona solo su
NT,
C'é un modo per farlo girare sul 98 ?
Risposte in e-mail, please !!
webm...@markoworld.com
Marko

Il linguaggio é lo stesso ? (cioé Visual Basic rimane Visual Basic o no ?
Siamo OT, ma perchè non prendi in considerazione il Wabi? Ti
garantisce anche la compatibilità inter piattaforma (i tuoi
applicativi girerebbero anche su PalmOS).

Newsgroup: it.comp.lang.c++
Titolo: visual c++ express

ciao,
ogni tanto faccio qualche programmino semplice semplice,
ho sempre usato visual c++ 6 e MFC AppWizard.exe
volendo passare a visual c++ express si puo usare la stessa
procedura e quindi una certa autocomposizione che mi crei il
codice necessario, etc etc.. insomma avete capito.... :)
grazie,
eventualmente qualche piccola guida
su visual c express per chi, come me è alle prime armi.
di nuovo.
lisaf 

Ciao,
Questo newsgroup si occupa del linguaggio C++ in quanto tale, e non di
aspetti specifici di particolari implementazioni. 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, 
white tiger
Newsgroup: it.comp.lang.c++
Titolo: 2 domande

1)
qualcuno possiede tutte le librerie per lo sviluppo in c++?
2)
avrei bisogno del borland c/c++
qualcuno sadove posso prenderlo senza compilare tutti quei moduli su
www.borland.com
che tra l'altro mi dicono sempre che ma un parametro
e quindi non riesco a scaricarlo
grazie
-- 
/****************************************/
/HomePage: 
http://accessdenied85.cjb.net
 /
/E-mail: .....access_denied[at]
libero.it
 /              *AccessDenied*
/****************************************/


www.borland.com
basta che compili i campi dove ci sono gli * ... e te lo fanno
scaricare gratuitamente...
é semplice
ciao
antonio

 gratuitamente...
questa era solo un alternativa al KDevelop che ho in linux
che però come ho già detto mi mancano le librerie 
in teoria potrei traspostare le librerie da win a linux?
e se si .. in quale cartella dovrei metterle?


 e se si .. in quale cartella dovrei metterle?
Se hai i sorgenti delle librerie (non puoi trasportare i .lib e i .obj)
puoi ricompilarli (se sono scritti in C++ standard) o modificarli in
base alla nuova architattura.
--
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

 non è che in linux dos.h non funzioni?
Non puoi, senza che le vene dei tuoi polsi si mettano
a piangere.  conio.h/dos.h non sono header standard e la
loro esistenza ha poco senso sotto Linux.
Per compiere operazioni sullo schermo (cosa per cui
credo tu includa conio.h) devi ricorrere alle librerie
termcap e ncurses (c'e' ampia documentazione a riguardo).
Non so per cosa tu includa dos.h, ma penso per funzioni
di sistema.  In tal caso, devi scegliere gli header
giusti tra quelli messi a disposizione da Linux, che, tra
l'altro, essendo uno Unix-like, segue lo standard POSIX.
Spero queste informazioni ti siano di aiuto, ma la prossima
volta, rivolgiti a it.comp.os.linux.development.
Troverai, di sicuro, un aiuto migliore.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Newsgroup: it.comp.lang.c++
Titolo: Aiuto!! problemi iniziali con DDK/SDK win nt

Salve...
devo assolutamente scrivere un driver per windows nt,
ma non riesco nemmeno a compilare gli esempi!!!
Sto usando windows nt 3.51 con il suo DDK e SDK; servirebbe
anche il Visual C++ 2.0 ma io sto usando il 5.0.
Il problema pero' non mi sembra che sia nel compilatore,
ma nel Resource Compiler, che sembra non venga trovato
dal programma Build, almeno cosi' sembra leggendo
il build.log che viene prodotto.
Eppure rc.exe e' quello originale che viene fornito con
con DDK/SDK ed e' presente nella sua esatta directory.
Qualcuno per cortesia mi da' una mano a partire?
Molte grazie.
Luigi
--
Automatic posted from 
box1.tin.it
 [195.31.190.111]
via Mailgate Server - 
http://www.mailgate.org

devo assolutamente scrivere un driver per windows nt,
purtroppo non sarà d'aiuto ma mi permetto di porre in quesito:
come si trova il DDK per WinNT e/o per Win95 ?
C'è un modo di averli gratis? o in valutazione o con licenza studente o a
poco?
( Non vorrei dovermi abbonare a MSDN al massimo livello...)
Grazie
-------------------------------------------------------
|        God is real, unless declared as integer      |
-------------------------------------------------------

 
Personalmente li ho avuti da un amico che e' abbonato;
se ho ben capito ogni mese gli arriva un pacco di cd (30-40?)
che contengono tutto cosicche' i cd dei mesi precedenti sono
superflui.
p.s.: nel frattempo ho risolto il problema in oggetto; ho dovuto
aggiustare un po' i vari path e tutto adesso funziona. In compenso
addentrarsi nei meandri dei device driver e' da impazzire!
Luigi

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

Ciao ragazzi,
Sapete dove poter trovare in rete delle buone dispense o libri completi e
ben fatti per studiare il c++.
Grazie anticipatamente per le risposte
Gube

ben fatti per studiare il c++.
Ascolta io sto studiando da qui:
"Thinking in C++", 2nd edition, Vol. I
http://mindview.net/Books/DownloadSites
ed un tutorial di Paolo Marotta
http://www.com.dist.unige.it/services/cpp_tutorial/
Ciao


Cerca anche il Lippman o il Soustroup (quest'ultimo però non è il + indicato
per iniziare). Il libro di Eckel che ti ha consigliato Ale55andro è ottimo,
ed è free :-) .
Ciao, sav :-) .
Newsgroup: it.comp.lang.c++
Titolo: doppi riferimenti

proprio non riesco a venirci fuori
ho una classe A che usa membri della classe B
e una classe B che usa membri della classe A
come si risolve? 


Dividendo per bene interfacce e implementazioni.
Prendiamo A dichiarata in a.h, definita in a.cc, e B dichiarata in b.h, 
definita in b.cc.
A questo punto, nei file header ti occorrera' solo la dichiarazione 
della classe "sorella" (e quindi in a.h aggiungi un "class B;", o 
"extern class B;" a seconda dei gusti, e in b.h un "class A;" o "extern 
class A;"), mentre nei file di implementazione puoi aggiungere 
l'_header_ della classe "sorella" (quindi sia a.cc che b.cc includeranno 
entrambi gli header). Questo spezza la circolarita'.
Se invece vuoi usare proprio usare membri di A in B e viceversa 
all'interno degli header, ad es. causa inline... uhm... io lascerei 
perdere, fossi al posto tuo ;D
-- 
Mat/tia Belletti             - Graduate student @ 
cs.unibo.it
ICQ: 33292311                - email: 
mbel...@cs.unibo.it
IRC: RedGlow                 - site(s): 
http://mbellett.web.cs.unibo.it/
Red...@jabber.linux.it/Gaim
 - Linux user 299762 @ machine 213003

toni ha scritto:

Se il problema è solo di avere membri di A che sono puntatori a B, e
viceversa, il problema si risolve:
------------
  File: a.h
------------
#ifndef A_H
#define A_H 1
class A;
#include "b.h"
class A {
...
};
#endif
------------
------------
  File: b.h
------------
#ifndef B_H
#define B_H 1
class B;
#include "a.h"
class B {
...
};
#endif
------------
Questo di solito è particolarmente utile con librerie grafiche dove hai
una classe "globale" per l'applicazione che contiene puntatori alle
finestre della GUI, e le classi per le varie finestre che vogliono avere
un puntatore alla classe "globale".
--
Matteo Settenvini
FSF Associated Member
Email : 
mat...@member.fsf.org
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS d--(-) s+:- a-- C++ UL+++
P?>++ L+++>$ E+>+++ W+++ N+ o?
w--- O- M++ V? PS++ PE- Y+>++
PGP+++ t+ 5 X- R tv-(--) b+++
DI+ D++ G++ e h+ r- y?
------END GEEK CODE BLOCK------
Newsgroup: it.comp.lang.c++
Titolo: Mappe e std::fstream

Salve,
ho bisogno di realizzare una mappa del tipo:
std::map< unsigned int, std::fstream > _map;
che rappresenta le coppie LivelloDiDebug, FileDiDebug.
Adesso la mia idea era quella di utilizzare l'operatore di 
sottoscrizione [] delle mappe per fare una cosa del genere:
_map[1].open( "miofile.txt", std::ios_base::out );
in quanto: _map[1] torna l'oggetto mappato (in questo caso un bel 
std::fstream), su cui poi invocare i metodi necessari ( open() ).
Il compilatore mi da però un errore (altrimenti non sarei qui ;) ):
c:\Programmi\Microsoft Visual Studio .NET 2003\Vc7\include\utility(34): 
error C2558: class "std::basic_fstream<_Elem,_Traits>": nessun 
costruttore di copia disponibile o costruttore di copia dichiarato 
"explicit"
         with
         [
             _Elem=char,
             _Traits=std::char_traits<char>
         ]
Adesso, se ho ben capito, la classe fstream viene fornita SENZA 
costruttore di copia.
Il problema lo risolvo, nel senso che basta tramutare la mappa in
std::map< unsigned int, std::fstream * > _map;
ed operare di conseguenza, questo però introduce problematiche nuove di 
gestione della memoria , mentre io volevo utilizzare un semplice oggetto 
allocato non esplicitamente da me.
Ora, mi chiedo: il compilatore non fornisce un costruttore di copia di 
default ???
O meglio, analizzando :
_map[1].open( "miofile.txt", std::ios_base::out );
il programma dovrebbe prima verificare l'esistenza della coppia con 
chiave '1', non trovandola dovrebbe utilizzare il costruttore di default 
di fstream per creare un oggetto del genere, costruttore che però non 
c'è: i costruttori di default non vengono automaticamente forniti dal 
compilatore SE NON VENGONO DEFINITI ESPLICITAMENTE (indipendentemente 
dai problemi legati alla copia automatica di oggetti e dell'eventuale 
condivisione di memoria tra gli oggetti) ???
Dove è l'intoppo ???
Ciao,
j0k3r

 costruttore di copia.
Le classi *stream non sono copiabili. Non sono nemmeno "assegnabili". Per questa
ragione non possono essere utilizzate come valori in nessuno dei container della
Libreria Standard.
Max


Ok, grazie, questa me l'ero persa... ;)

Newsgroup: it.comp.lang.c++
Titolo: help X TeeChart 3.0

Salve a tutto il NG
essendo un neofita alle prese col c++ builder 3
sto realizzando un programma che usa TeeChart 3.0
ma non sono riuscito a trovare documentazione in merito.
Se qualcuno di voi mi potesse spedire un codice di
esempio con l'utilizzo di teechart,dichiarazioni,
cio' che bisogna includere..etc etc
giene sarei infinitamente grato. ecco la mia email:
scu...@freemail.it
oppure rispondete sul NG...
grazie ancora...

Puoi trovare aiuto per quello che cerchi
sul server di news: 
forums.inprise.com
e sui newsgroup:
borland.public.cppbuilder.*
(Qui sei OT).
Newsgroup: it.comp.lang.c++
Titolo: Calcolo del moulo (MOD)

Ciao a tutti,
so che in c++ eseste già la funzione MOD, ma mi servirebbe l'algoritmo che
calcola ciò.
Vi ringrazio anticipatamente per l'aiuto
ciao.



int modulo(int dividendo, int divisore)
{
	float a = ((float) (dividendo / divisore) - (dividendo /
divisore)) * divisore;
}
scusate il cast c-like, ma con i tipi primitivi concedetemelo!!
-- 
]\/[ad]\/[age (
www.mindreamz.net
)
"Un Maestro insegue semplicemente la sua visione di Eccellenza in
qualunque cosa sta facendo e lascia agli altri decidere se sta 
lavorando o giocando. A lui sembra sempre di fare entrambe." - Anonimo

 scusate il cast c-like, ma con i tipi primitivi concedetemelo!!
Potremmo forse concedertelo se il tuo codice funzionasse, ma quanto
hai scritto qua sopra vale sempre zero. Provare per credere (e per
notare che assegni il valore invece di restituirlo).
La morale e' sempre quello: provare il codice prima di postarlo.
Ciao,
Nicola

pardon... mea culpa...
int modulo(int dividendo, int divisore)
{
    return (((float) dividendo / divisore) - dividendo / divisore) *
divisore;


 }
Io sinceramente non l'ho capito..
ho 5 .. e 2
dividendo/divisore = 2
- dividendo - divisore = 0 * 2 = 0
forse non era meglio prima return (dividendo - (dividendo / divisore)); ?
o volendo usa i template :)
template<class T> T modulo(T dividendo, T divisore)
{
    return (dividendo - (dividendo / divisore));
}
Antonio

 }
Non capisco l'uso dei float. Penso che tu ti stia complicando
inutilmente la vita.
se hai due interi, la divisione e' un intero (troncato). quindi:
a % b (a modulo b) per i numeri interi positivi e'
dato da:
int t = a / b; //  e questo calcola il valore della divisione intera
int mod = a - t * b; // e questo calcola il resto ovvero il modulo
questo lo puoi integrare in una sola  mod = a-b*(a/b);
oppure:
int modulo(int a, int b) {return a - b*(a/b);}
per i numeri negativi devi solo stare lievemente
attento a come vuoi definire il modulo.
ciao,
g.

 forse non era meglio prima return (dividendo - (dividendo / divisore)); ?
um. . era meglio se mi stavo zitto :)
dividendo - ((dividendo / divisore) * divisore)

 }
Cosa succede se dividendo=-5 e divisore=-2 ?
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Dept. of Physics, Univ. of Padova, Italy              ROT13: 
ybe...@cq.vasa.vg

 }
Cosa succede se dividendo=5 e divisore=2?
5 - (5/2) = 5-2 = 3
Non hai dimenticato qualcosa (magari una moltiplicazione)?
Quale e' lo scopo di una classe template?  Se T fosse un double,
non funzionera' mai...  anche qui forse hai dimenticato qualcosa...


 non funzionera' mai...  anche qui forse hai dimenticato qualcosa...
:) grazie x avermelo fatto notare
Newsgroup: it.comp.lang.c++
Titolo: SendMessage <Aiuto>

Salve ragazzi.
Ho un problema che fino ad ora non sono riuscito a risolvere.
Vorrei utilizzare la funzione API di Windows in oggetto per inviare la
combinazione di tasti CTRL + "Carattere" ad una finestra.
Premetto che son già riuscito ad ottenere l'handle della finestra, ma non
riesco assolutamente ad inviare il msg suddetto.
Nel caso specifico vorrei inviare il messaggio di copia di testo selezionato
utilizzando la famosa combinazione CTRL + C.
Ho provato il messaggio WM_COPY, ma non funziona su tutti i tipi di
finestra.
Ringrazio già da ora chi vorrà aiutarmi.
--------------------------------------------------
"Non importa che tu sia un leone o una gazzella.
             Comincia a correre"
                      Modesto
                ICQ# 4879858
        E-Mail: 
dell...@freemail.it
--------------------------------------------------
Per favore, per risposte dirette
rimuovete -NOSPAM-
Please remove -NOSPAM-
for private response

Ciao,
Questo newsgroup si occupa del lingaggio C++ in quanto tale, e non di
aspetti specifici di particolari implementazioni. 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 Linux:      it.comp.linux.development
                it.comp.os.linux.development
Per C++Builder: i gruppi borland.public.cppbuilder.*, disponibili sul
                server 
forums.borland.com
 (in inglese)
Grazie,
Nicola Musatti
Newsgroup: it.comp.lang.c++
Titolo: S.O.S. S.O.S. . DIRECT X PER VISUAL BASIC





VI PREGO AIUTATEMI: cerco chi mi suggerisca un modo 
per trovare testi, aiuti su internet (ma credo che i siti finora trovati con 
tutti i motori di ricerca diano ben poco aiuto ...!!!!!) per quanto riguarda 
l'utilizzo di codici in Visual Basic delle DIRECT X. 


Vi prego sugeritemi una strada, un modo o qaulunque 
altra cosa (possibilmente in italiano) per programmare le DIRECT X in VISUAL 
BASIC).


P.S: E non ditemi visita il sito tal dei 
tali...


Grazie


Valerio '84



 wrote in message 
  000801bae51d$ca150f20$1c4e1597@smash1...


Newsgroup: it.comp.lang.c++
Titolo: come richiamare la data di sistema?

come devo fare per richiamare la data di sistema?
Grazie Francesco

 come devo fare per richiamare la data di sistema?
Chiudi gli occhi, ed esclama ad alta voce: "DATA DI SISTEMA!".
Se non funziona, aggiungi "PER FAVORE!".
A parte scherzi, tutte le funzioni dichiarate in <ctime> sono
standard: puoi usare time(), mktime(), asctime(), ctime(),
localtime(), strftime() e tutte le altre che non mi sono venute in
mente 8^)
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it

Newsgroup: it.comp.lang.c++
Titolo: Registrazione di DLL (ATL COM)  con e senza supporto MFC

da qualche tempo mi è sorto un problema con le dll del tipo ATL COM che creo
in C++ con Visual Studio 6.0
Realizzo dll con il supporto delle MFC ed anche senza.
Ottengo il messaggio di fallimento della registrazione (con regsvr32):
Load Library/...nome percorso e file.dll..  / non riuscito - impossibile
trovare il modulo specificato
su tutti i pc in cui non è installato il mio ambiente di sviluppo, se nella
creazione della dll  ho richiesto il supporto delle MFC.
Questo messaggio non appare e la registrazione va a buon fine se non ho
chiesto il supporto delle MFC.
Qualcuno ha avuto, recentemente, lo stesso problema e sa aiutarmi?
Grazie

Ciao,
sei completamente OT, niente di quello di cui parli rientra nello standard.
Prova in it.comp.programmare.win32
Vasco Premoli ha scritto:

Newsgroup: it.comp.lang.c++
Titolo: Inviare files ad un indirizzo IP

Un mio amico possiede un Plotter (che poi e' praticamente una Stampante)
collegato tramite Scheda di Rete alle altre Stazioni CAD, sulle quali,
viene utilizzato WinNT 3.51.
Di suddetto dispositivo si conosce lolo l'indirizzo IP: 192.1.1.94
Il nostro obiettivo e' quello di Inviare dei Files di Plottaggio (che
cioe' sono gia in un formato Stampabile dalla periferica, tipo HP-GL/2)
tramite la Shell di MS-DOS sotto Windows NT (3.51, appunto).
Da quanto mi e' sembrato di capire, cercando info qua e la', sembra che
non esista un modo diretto per accedere al Plotter tramite un comando
DOS tipo:
  copy miofile.plt \\plotter /b
ma, bensi', e' necessario utilizzare degli appositi programmi (che
probabilmente non costano poco).
***
Detto questo, vorrei chiederVi: ritenete sia troppo difficile creare un
programmino che, dandogli in "pasto" l'indirizzo IP ed il File di
Plottaggio, si occupi della Spedizione ?
E' da considerare che non ho esperienza sufficiente su queste
problematiche e che comunque non potro' testare eventuali sviluppi
direttamente (dovro' spedirgli via E-mail le varie beta, ecc...) :(
Se qualcuno fosse cosi' gentile da indicarmi qualche sito utile o magari
anche un pezzo di codice (ammesso che non sia una cosa troppo onerosa)
gliene sarei grato ;)
Cordiali saluti a Tutti, U D A.
PS: Come ambiente di sviluppo utilizzerei il GNU Gcc per C/C++.
-- 
<><><><><><><><><><><><><><><><><><><><><><><><
UDA'Software
mailto:
u...@freemail.it
mailto:
uda.so...@iol.it
http://www.GeoCities.com/SiliconValley/Bay/2165

...


Newsgroup: it.comp.lang.c++
Titolo: creazione dll

come creo una DLL da uan serie di file .obj, attarverso bcc32?
Grazie
Sergio
--------------------------------
Inviato via 
http://usenet.libero.it

Ciao,
Questo newsgroup si occupa del linguaggio C++ in quanto tale, e non di
aspetti specifici di particolari implementazioni. 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: Variabili private in una classe statica

Ciao a tutti!
Ho definito una classe con una serie di metodi statici, per poterli
richiamare senza prima creare un'istanza della classe. Il mio problema č che
avrei bisogno di definire una variabile privata in tale classe, piů
precisamente un hash_set, ma, che lo definisca static o meno, ottengo un
messaggio di errore in fase di compilazione. E' possibile risolvere questo
problema?
Grazie, Riccardo

Riccardo Rossi wrote:

Posta il codice e come usi la classe e l'errore del compilatore e
vediamo che si puo fare.
G.
Newsgroup: it.comp.lang.c++
Titolo: MANUALE di Visual C++

Quale è secondo voi esperti il miglior manuale di Visual C++ per uno che sa
solo programmucchiare in Visual Basic?
Grazie

 che sa solo programmucchiare in Visual Basic?
Se ti riferisci all'ambiente, quello che ti sapranno consigliare sul 
newsgroup adatto: it.comp.programmare.win32
Se intendi il linguaggio C++ "in se", credo che Thinking in C++, 2. ed 
di eckel sia ottimo, essendo anche gratuitamente scaricabile.
Se intendi invece le estensioni al C++ per win, di nuovo ti rimando al 
NG adatto

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

Sub Public nomeroutine ()
Grazie mille a tutti.
Ciao
Nicola

 > Sub Public nomeroutine ()
void nomeroutine()
{
    // corpo della funzione
}



Questa prova e quella che ho effettuato prima di chiedere aiuto su questo NG
ma non capisco perchè non funziona, la situazione reale è questa :
void Scrivi ()
{
 Form1->DBEdit1->Color = clAqua ;  / / CAMBIA IL COLORE ALLA DB TEXT BOX
}
io richiamo la funzione così :
void Scrivi ();
Ovviamente ho provato a far eseguire il corpo della funzione tramite un
command button e tutto va; mentre richiamando la funz. ed effettuando il
debug, la riga viene totalmente ignorata come se non ci fosse!!
Chiedo un cortese aiuto !!
ciao e grazie
Nicola

parametro, insomma quella che nel Visual Basic si chiama
Dichiarando una funzione void, ovvero una funzione che non restituisce
alcun parametro. Esempio:
void blablablabla()
    {
    //corpo della funzione.
    }
Ti consiglio di leggerti un buon manuale, anziche cercare di imparare
il linguaggio da solo.
Il Ghenio
-----
Jesse: Preparatevi a passare dei guai.
James: Dei guai molto grossi!!!
(Team Rocket)
-----

void Scrivi (); <----- errore


void Scrivi ();
Scrivi();
senza void.

Newsgroup: it.comp.lang.c++
Titolo: Come vedere gli entry-point di una DLL?

Salve a tutti!!
Sono un ex-programmatore in C++ e sono un po' arrugginito.
Ricordo che con Windows 95 era possibile, utilizzando un programma di
sistema che non ricordo più quale fosse, vedere l'elenco degli entry-point
di una DLL.
Ricordo che aveva un nome tipo *Anteprima*.
Qualcuno di voi è in grado di darmi un utile suggerimento ?
Grazie
Cricca

Ciao,
Questo newsgroup si occupa del linguaggio C++ in quanto tale, e non di
aspetti specifici di particolari implementazioni. 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: Vi dice Qualcosa SIGLA++

Si tratta di un gestionale Client/Server scritto in VC++ , vorrei sapere se
qualcuno lo conosce, e scambiare opinioni.
Franz

Io l'ho intravisto ma non mi sembra sto capolavoro mostruoso.
Viene dalla mamma IBM.
CIAO ZEC.

...



Lo usano in un'azienda che conosco. Lo vendono a molti dei loro clienti e ci fanno anche
qualche verticalizzazione sopra. Il tutto in Delphi, che io sappia.
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Andrea Baruzzo
Via Circonvallazione, 26
Muzzana del Turgnano (UD) - Italy
e-mail: 
andrea....@ud.nettuno.it
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Newsgroup: it.comp.lang.c++
Titolo: "ricaricare" una istringstream

vorrei usare la facility degli stream per convertire delle stringhe.
#include <string>
#include <sstream>
bool successo;
float i;
std::string InL="127";
std::istringstream ist(InL);
ist>>i;
if (ist.rdstate()==ios_base::failbit) successo=false;
else successo=true;
/* fino a qui tutto OK */
InL="133";
ist>>i;
/* qui già non funziona più */
...
come faccio ad associare un'altra stringa allo stesso istringstream (ovvero
evitando di creare un istringstream per ogni nuova stringa da convertire)??
Grazie

 evitando di creare un istringstream per ogni nuova stringa da
convertire)??
Fra i _pochissimi_ membri specifici di std::istringstream c'é la funzione
membro
str, in due overload: senza argomenti, ti torna la std::string che lo stream
sta
usando; con un argomento, accetta una const& alla std::string che tu vuoi
che
usi da qui sino a nuovo ordine.  Usa questo secondo overload... cioé, se la
tua
variabile di tipo std::istringstream é ist, chiama ist.str("321") e
(costruendo la
necessaria std::string temporanea "al volo", naturalmente) farai appunto ció
che stai chiedendo.
Alex

str, in due overload: senza argomenti, ti torna la std::string che lo
stream
La ho notata ma anche se faccio quello che dici lo stato dello stream non
viene cancellato e non riesco a fare un'altra conversione...
bool riuscita=true;
float f;
std::string pippos="lalala";
std::istringstream ist(pippos);
ist>>f;
if (ist.rdstate()==ios_base::failbit) riuscita=false;
pippos="127";
ist.str(pippos);
ist>>f;
if (ist.rdstate()==ios_base::failbit) riuscita=false;
dopo la prima la seconda conversione sembra non venga fatta.
Adesso  controllo non sia qualche idiosincrasia del VC++ 6 o qualche cosa
che ho combinato da qualche altra parte.
Hints per cercare da qualche altra parte?
GRAZIE, pensavo di essermi rimbambito ;)
Chi è ancora newbies di un linguaggio tende sempre ad attribuire le "sfighe"
alla mancanza di conoscienza dei costrutti/funzioni che usa per la prima
volta, quando magari la sfiga è annidiata da qualche altra parte.
Newsgroup: it.comp.lang.c++
Titolo: Tiff library

Ciao a tutti
volevo sapere se esiste qualche library per poter interagire con file
tiff,caricare,salvare e mi servirebbe anche poter acquisire i valori rgb di
un determinato pixel di un immagine e poter modificare i valori rgb di un
determinato pixel.
Grazie mille
Xavier
----------------------------
    Xavier Matia Bernasconi
The Mule frontend responsible
        The Electronicfarm
        Palma de Mallorca
-------------------------------

determinato pixel.
Ma usare i motori di ricerca è troppo complicato? Cerca, cerca che
c'è!
Luc.

Newsgroup: it.comp.lang.c++
Titolo: lanciare programmi da un eseguibile...

salve,
(sono un neofita, chiedo cose banali... abbiate pazienza, cerco di imparare)
vorrei sapere se è possibile (e in caso affermativo, come) lanciare dei
programmi
(che normalmente si lanciano da riga di comando) da un programma C e
prelevarne poi i risultati...
Grazie a quanti risponderanno

 prelevarne poi i risultati...
Se quello che ti interessa e' il C, spostati su it.comp.lang.c .
In C++ standard puoi lanciare comandi esterni, ma non leggerne
direttamente i risultati. Pero' puoi sempre far scrivere su file il
risultato e poi leggere il file (non compilato, solo come esempio):
#include <cstdlib>
#include <fstream>
#include <string>
int main() {
  const char * cmd = /* comando che scrive sul file pippo nel tuo
ambiente */ ;
  std::system(cmd);
  std::string s;
  std::fstream file("pippo",std::ios::in);
  while ( std::getline(file,s) )
  {
    // usa la riga corrente
  }
}
Ciao,
Nicola

prelevarne poi i risultati...
Si', ma ti conviene affidarti ad estensioni specifiche del
tuo compilatore e/o API del tuo sistema operativo (sotto
Windows, per es. ci sono ShellExecute e CreateProcess, sotto
Linux/Unix, la coppia fork()/exec()).  L'unica via standard
di compiere questa operazione e' usare system() che dovrebbe
provvedere a lanciare una copia della shell del sistema
operativo.
-- 
The Follet
Newsgroup: it.comp.lang.c++
Titolo: std::list e classe ospite

Ciao,
ho una classe che usa una std::list
(std::list<ImpDirElem> DirList)
e nessun'altra parte del programma usa quella lista:
quindi mi è sembrato logico metterla come membro
privato della classe stessa. Senonchè da quando
l'ho messa come membro privato (prima era dichiarata
nel file .cpp della classe ma come variabile a sè
stante) ogni volta che la classe viene distrutta
ho una eccezione.
Ho provato a chiamare il distruttore della list nel
distruttore della mia classe (con ~DirList()) ma mi
dice che non è quello il distruttore della classe
list... dove sbaglio?

 ho una eccezione.
Uhm... non vorrei dire cavolate, ma mi pare che i contenitori abbiano 
ownership del contenuto, quindi chiamano i distruttori degli oggetti 
contenuti. *SE* e' cosi', allora molto probabilmente il problema e' nel 
distruttore di uno o piu' degli oggetti contenuti.
-- 
/**
  * 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
  */

 distruttore di uno o piu' degli oggetti contenuti.
Le ImpDirElem sono banalissime union... non
hanno distruttori :-(


Ma nelle union cosa c'è ? Allochi memoria ?

 Ma nelle union cosa c'è ? Allochi memoria ?
No, sono solo union e basta.
Contengono solo dati ma non funzioni
nè puntatori a funzioni. Insomma sono proprio
terraterra.