mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c++
Titolo: compilare Truecrypt su xp

Salve a tutti, sto cercando di compilare truecrypt da sorgente su
windows xp.
Inutile dire che non ci riesco....
Il file readme insieme ai sorgenti, tra i requisiti per la
compilazione dice:
Requirements for Building TrueCrypt for Windows:
------------------------------------------------
- Microsoft Visual C++ 2008 SP1 (Professional Edition or compatible)
- Microsoft Visual C++ 1.52 (available from MSDN Subscriber Downloads)
- Microsoft Windows SDK for Windows 7
- Microsoft Windows Driver Kit 7.0.0 (build 7600.16385.0)
- RSA Security Inc. PKCS #11 Cryptographic Token Interface (Cryptoki)
2.20
  header files (available at 
ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20
)
- NASM assembler (2.06 or compatible)
- gzip compressor
Ho molta confusione in testa. Per i primi due punti ho installato
Microsoft VIsual C++ 2010 Express, la versione gratuita; possono
esserci problemi dato che non corrisponde alla tabella di cui sopra?
Il fatto è che si tratta di roba che non ho trovato gratis ma solo
pagando (e anche tantissimo, ma questo è un altro discorso). In
particolare la versione 1.52 a quanto ho capito non è vecchia ma
arcaica e non più supportata da molto tempo.
L'SDK per windows 7 non mi dovrebbe servire dato che per ora lo voglio
compilare solo su xp, o sbaglio?
Il Microsoft windows driver kit 7.0.0 non capisco a cosa serva ne come
"interfacciarlo" con il resto.
In pratica, mi sembra che per i miei scopi i requisiti siano almeno
ridondanti. Al momento, il visual c++ mi dice che il progetto è
composto da 6 parti, 1 la compila e le altre no.
Purtroppo non ho trovato info da nessuna altra parte, la
documentazione ufficiale è un po' tirata via e non sono abbastanza
esperto da risolvere da solo.
Potete aiutarmi?


Ciao, per quanto riguarda il Windows Driver Kit, devi istallarlo, in 
quanto i volumi di truecrypt sono visti come device, e quindi 
necessitano di un driver per poter essere letti, che sicuramente farà 
uso delle api di windows, contenute per quanto riguarda i device driver 
nel Driver Kit, per quanto riguarda la sdk "poco importa" se gira su xp 
o su win 7, li ci sono tutte le api di windows ed è quindi molto più che 
necessaria. Per quanto riguarda la versione 1.52 di Visual c++ non 
saprei, ma se la chiedono di sicuro serve per compilare qualcosa di 
particolare.

Newsgroup: it.comp.lang.c++
Titolo: Leggere dalla porta parallela

Cosa devo fare per leggere dalla porta parallela?
Magari con le API di Windows o con un componente VCL...
Grazie
Demetrio Filocamo

Cosa devo fare per leggere dalla porta parallela?
CreateFile ReadFile e WriteFile naturalmente. Sulla ReadFile non sono sicuro
dell'influenza delle porte NON bidirezionali.
Quack
--- (Elimina il papero per le repliche) ---
Newsgroup: it.comp.lang.c++
Titolo: funzioni virtuali template

E' stato detto più volte, ma io non ho mai capito.
Perchè una funzione virtuale non può essere template?
struct A
{
	template <typename T>
	virtual void method(T) = 0;
};
La risposta: "lo standard non lo permette", non vale!
In pratica aumentano le entry della virtual table, ma tutto può esser 
noto a compile time.
A me sembra possibile, l'unico inconveniente è che l'eseguibili avrebbe
dimensioni molto più grandi del dovuto, perché devono essere 
specializzati i metodi template per ogni sottoclasse di A, anche se non 
vengono mai usati.
Boh. Spero di aver chiarimenti.
Grazie.
--
Fabio.

 noto a compile time.
No. Il problema e' che devi conoscere tutte le instanziazioni quando
compili la translation unit che contiene A e questo in generale non e'
possibile. Pensa ad esempio di avere in due translation unit diverse
due sottoclassi di A che usano due diverse instanziazioni della
funzione membro virtuale; il compilatore le metterebbe entrambe nella
stessa posizione della vtable.
Ciao,
Nicola

 Perchè una funzione virtuale non può essere template?
Personamente non mi sono mai meravigliato di questa limitazione, che mi pare
perfettamente coerente con l'idea di polimorfismo.
Il codice che invoca una funzione virtuale, tramite un puntatore o un
riferimento a classe base, non conosce (e non deve conoscere) qual è la
classe concreta in cui la funzione è implementata.
Ora, se fosse possibile invocare un'instanziazione arbitraria di una
funzione virtuale template, come potremmo garantire che tale instanziazione
venga effettivamente generata da qualche parte, se non è noto nemmeno quale
sia la classe concreta su cui la chiamata verrà inoltrata?
Se poi aggiungi che il codice cliente di un oggetto polimorfico potrebbe
risiedere anche in regioni completamente autonome (ad es. librerie)
rispetto al sistema di moduli che compone la nostra applicazione, ti rendi
conto come l'idea di "funzione virtuale template" strida con il concetto di
"interfaccia polimorfica".
Max

 
Coerente con l'implementazione del polimorfismo parametrico del C++,
piuttosto che col polimorfismo parametrico in generale.
Io la trovo una feauture molto desiderabile, anche se di apparente 
impossibile realizzazione, come mi sembra di capire.
--
Fabio.

Qualcuno mi sa dire qualche link o qualche riferimento a libri,
dove viene spiegato come i compilatori c++ implementino i template?
--
Fabio
Newsgroup: it.comp.lang.c++
Titolo: uso piu giusto di std::string (trim avanzato)

allora, in una sola domanda risponderò alle mie tante domande su come
bisogna usare in maniera funzionale la classe std::string...
ho una stringa fatta in questo modo
valore	|	significato
1	|	è fasullo
2	|	è funzionante
3	|	è perfetto
il mio scopo è trasformare la stringa in questo modo
valore|significato
1|è fasullo
2|è funzionante
3|è perfetto
devo cioè togliere i caratteri spazio e tabulazione "intorno" al
carattere |
voi come scrivereste questo algoritmo?
-- 
]\/[ad]\/[age
"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

 voi come scrivereste questo algoritmo?
Io starei sul semplice, e farei un controllo attorno al carattere '|' 
centrale: 
#include <iostream>
#include <string>
#include <cctype>
using namespace std;
string compatta( const string& str )
{
  int p1, p2;
  p1 = p2 = str.find('|');
  while( isspace( str[--p1] ) )
    ;
  while( isspace( str[++p2] ) )
    ;
  return str.substr(0,p1+1) + "|" + str.substr(p2);
}
int main()
{
  cout << compatta( "sinistra   |   destra" ) << endl;
}
// output: "sinistra|destra"
-- 
Ciao, Marvin
Newsgroup: it.comp.lang.c++
Titolo: strcpy

    Ho avuto a che fare un pochino con il c++ già in precedenza, ora mi ci
riavvicino e sono un po' arruginito; però proprio non capisco perche strcpy
continua a darmi segmentetion faul.
main (void) {
  char *str_dest;
  const char *str_source= "pippo";
  strcpy(str_dest, str_source);
  cout<<str_dest;
}
il bello è che str_dest contiene effettivamente "pippo" e cout mi stampa per
l'appunto pippo. Però a seguire ce anche il messaggio segmentation fault.
Altri tentativi fatti:
main (void) {
  char *str_dest;
  strcpy(str_dest, "pippo");
  cout<<str_dest;
}
main (void) {
  char str_dest[10];
  const char str_source[10]= "pippo";
  strcpy(str_dest, str_source);
  cout<<str_dest;
}
main (void) {
  char *str_dest;
  const char *str_source= "pippo\0";
  strcpy(str_dest, str_source);
  cout<<str_dest;
}
ecc...     GRAZIE.

>}
str_dest come lo hai definito tu e' un puntatore a char che non viene inizializzato. Di conseguenza punta ad un punto random della memoria. Con strcpy vai a copiare quello puntato da str_source su una parte di memoria qualsiasi.
Forse volevi dichiarare una "stringa" ovvero
   char str_dest[100];
questa istruzione definisce un vettore di char che puoi usare come "stringa".
In alternativa dopo la dua definizione puoi fare
str_dest = new char[100]
che alloca 100 byte di memoria e assegna l'indirizzo iniziale a str_dest.
Alla fine devi liberare la memoria con
delete[] str_dest;
Antonio

 }
Questo deve funzionare (aggiungi un return 0 se non hai un compilatore
super-aggiornato, e un "int" davanti a main, che in C++ e` obbligatorio
anche se probabilmente il tuo compilatore lo manda giu` per motivi di
compatibilita` con antichi linguaggi del passato).
Alex

 }
Hai dimenticato di riservare memoria per str_dest. Qualcosa tipo
char str_dest[ 80 ];
oppure
char *str_dest = new char [ 80 ];
e
delete [] str_dest;
quando non ti serve più.
EMG

   const char *str_source= "pippo\0";
                                 ^^^^
Che cos'e' quel '\0' in fondo a pippo. 
Ti do un consiglio, ma non prenderlo come un rimprovero. 
	"Studiati su qualche buon testo l'uso dei puntatori."
E' lo stesso consiglio che hanno dato a me quando ho iniziato.
Fausto.

}
La colpa non é dell'istruzione strcpy, ma del fatto che non hai
allocato memoria per il puntatore al char. Prova cosi':
char *str_dest=new char[40]; //dimensione scelta a caso!!
Ed alla fine libera la memoria occupata con
delete [] str_dest;
Il Ghenio
Newsgroup: it.comp.lang.c++
Titolo: sempre sulle classi

Data una classe A che tra le variabili private ha due puntatori a due classi
B e C, i metodi di A possono accedere direttamente alle variabili private di
B e C? Se no, mi basta dichiararle friend o ci vogliono altri accorgimenti?
Altrimenti non mi resta che implementare due metodi pubblici per B e C che
ritornino un puntatore all'oggetto desiderato... e non è proprio la cosa
migliore per me...
grazie per l'aiuto,
Bruno

migliore per me...
Neanche la scelta di friend, in generale, e` la cosa migliore. Sicuro
di aver modellato al meglio le classi?
Paolo
--------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
--------------------------------------------------

 migliore per me...
Sembra che tu dia troppa enfasi all'accesso ai dati tenuti da una classe.
Una classe, normalmente, deve anzitutto incapsulare un COMPORTAMENTO,
cioe` una collezione di metodi che FANNO cose (sui dati contenuti nella
classe).
Alex

 migliore per me...
Più che restituire un puntatore, questi due metodi pubblici dovrebbero
offrire il servizio di cui A ha bisogno, gestendo internamente i membri
privati delle classi B e C.
EMG




 Alex
Hai perfettamente ragione č che sono costretto a seguire un progetto fatto
da altri che non mi garba molto (soprattutto perchč cosě č molto piů
semplice criticare e basta, lo so...) e spesso grazie alla mia inesperienza
non so come affrontare un certo tipo di problematiche. Ora comunque la
faccenda mi č piů chiara, grazie alle tue risposte e agli aiuti di tutti gli
altri ragazzi del newsgroup :-)
Bruno
Newsgroup: it.comp.lang.c++
Titolo: [HELP] Chiamare una funzione membro figlia

Salve a tutti, vorrei sapere una cosa,
ho un'oggetto dichiarato con la classe madre e mi servirebbe di chiamare la
funzione della figlia e non la sua... come si fa?
esempio:
Madre *madre;
madre = new figlia();
madre->funzione();  (e cosě mi da quella della madre, a me servirebbe quella
della figlia)
spero di essermi spiegato bene. Grazie mille per eventuali risposte.
saluti,
berserk

basta che tu dichiari la funzione come virtuale nella classe madre
(polimorfismo).
ovvero
class madre
{
 public:
 virtual void funzione();


 wrote:

A)
struct Madre
{
   virtual void salve() { cout << "Madre" << endl; }
   virtual ~Madre() {}
};
struct Figlia:Madre
{
   /*virtual*/ void salve() { cout << "Figlia" << endl; }
};
B)
struct Madre
{
   void salve() { vsalve(); }
   virtual void vsalve() { cout << "Madre" << endl; }
   virtual ~Madre() {}
};
struct Figlia:Madre
{
   /*virtual*/ void vsalve() { cout << "Figlia" << endl; }
};
int main()
{
   Madre *mp = new Figlia;
   mp->salve();
   delete mp;
   return 0:
}
-- 
Horst

Grazie iron e grazie Horst, l'avevo gia` fatta virtual solo che non mi ero
accorto che la funzione nella madre e nella figlia differivano negli
argomenti che prendevano ^_^;
A presto
berserk

 wrote:

Ed il sfortunato Microsoft VC++ non da warning se scrivi 
struct A { virtual void f(); };
struct B:A { virtual void f(int); };
peccato...
Borland C++ 5.5.1
Warning W8022 v.cpp 9: 'B::f(int)' hides virtual function 'A::f()'
-- 
Horst
Newsgroup: it.comp.lang.c++
Titolo: ot ?visual c++

sto cercando di fare il mio primo prg in c++ in ambiente visual6 c++
ma non lo posso fare sapete perchč?
non ho le parentesi graffe, le ho cercate su tutti i tasti e con le varie
combinazioni ma non le ho trovate.
se qualcuno sa dove si nascondono mi avverta.
ciao e grazie.

 ciao e grazie.
allora se ha la tyast italian prova  a fare altgr 7-8-9-0 fin quando non 
trovi le graffe (con i numeri delal parte principale della trastiera)
per esempio io ottengo 
{[]}
oppure (ed è + scomodo ) usi i codici ascii usando alt e la sequanza 123 o 
125 del tastierino nuemrico 

 wrote in message
news:8xS38.19947$Rv3.7...@news2.tin.it...

Alcune tastiere supportano le graffe e le quadre come alt-gr premuto
contemporaneamente a un tasto numerico. Altre no.
La maggior parte delle tastiere italiane supportano le parentesi quadre
e graffe con i due tasti posti ai lati della "P". Il primo tasto serve
per la e accentata (accento acuto o grave a seconda se usi il maiuscolo
o meno) e per la [ se lo premi con alt-gr o la { se lo premi con alt-gr
e maiuscolo. L'altro tasto serve per il + e per l'asterisco se lo usi
con il maiuscolo oppure per la [ se lo usi con alt-gr e per la } se lo
usi con maiuscolo alt-gr.
In alternativa puoi premere e tenere premuto il tasto alt e battere sul
tastierino numerico la sequenza 123 quindi rilasciare il tasto alt per
ottenere la graffa aperta. Usando invece la sequenza 125 ottieni la
graffa chiusa. E con la sequenza 126 ottieni la tilde che usi per i
distruttori (altro carattere spesso mancante dalla tastiera).
Perņ esistono ben due alternative definite dal linguaggio stesso. Ovvero
i trigraphs riconosciuti dal preprocessore e i token alternativi
riconosciuti dal parser. Ecco le corrispondenze:
I 9 trigraph riconosiuti dal preprocessore:
#  ??=
[  ??(
\  ??/
]  ??)
^  ??'
{  ??<
|  ??!
}  ??>
~  ??-
Nota che il trigrafo ??' sulle tastiere italiane č un controsenso dato
che ^ esiste mentre ' no!
Fra i caratteri necessari, sulle tastiere italiane mancano solo le
graffe, la tilde e (in alcuni casi) le quadre.
I 17 token alternativi:
{   <%
}   %>
[   <:
]   :>
#   %:
##  %:%:
&   bitand
|   bitor
^   xor
!   not
~   compl
&&  and
||  or
&=  and_eq
|=  or_eq
^=  xor_eq
!=  not_eq
--
Andrea Ferro
IHHC - Member of HT-Group  DVD Authoring operator  Fan of I.Asimov
C++ Master: 
http://www.brainbench.com/transcript.jsp?pid=2522556
This post expresses personal opinions which may or may not be the
opinions of the company(s) I work for. I speak for myself only.

 [MEGA-CUT]
[CTRL]+[ALT]+[SHIFT]+'[' = {
[CTRL]+[ALT]+[SHIFT]+']' = }
-- 
Luc.

"Luc" <XXX...@katamail.comXXX> ha scritto nel messaggio
news:MPG.16ba5410f...@news.enter.it...

O [ALT GR]+[SHIFT]+'['
[ALT GR]+[SHIFT]+']'
Ciao
--
Timothy Redaelli

 [ALT GR]+[SHIFT]+']'
Scomodissimo per i destri-mani...
-- 
Luc.

"Luc" <XXX...@katamail.comXXX> wrote in message
news:MPG.16bb2f13e...@news.enter.it...

E` tutto un complotto di noi Pythonisti per spingere la
gente al nostro linguaggio libero da graffe (adesso che
nella 2.2 si possono definire i dizionari con dict()...).
Alex
Newsgroup: it.comp.lang.c++
Titolo: problemi coi template (specializzazione)

il problema e' definire la funzione move(to,from) che ha la seguente
semantica: to assume il valore di from, e from viene resettato (come fosse
stato appena inizializzato dal dcons)
intendo move come "trasferimento di identita'" diciamo, e potrebbe essere
definita in questo modo:
template <class T>
    void move (T &t, T &f)
    {
        t = f;
        f = T();
    }
template<class T, class A>
    void move (std::vector<T,A> &t, std::vector<T,A> &f)
    {
        t.swap(f);
        f.clear();
    }
etc. etc.
capite il senso?
il problema sta nel fatto che il visual C 6 si rifiuta di compilare, ecco
qual'e'.
le soluzioni che mi si prospettano sono:
. cambiare compilatore (non che ci tenga, ma il visual studio e' un ottimo
ide e vorrei continuare a usarlo)
. trovare un trucco per far digerire al vc questo codice
. scoprire che magari la move non serve poi molto (in questo caso pero'
sarei curioso di sapere perche' ^__^)
. aspettare il newsgroup ^________^
thx
Simone Pierazzini

 
Uhm. Potresti provare con la specializzazzione parziale di classi
template:
 
  template< class DestT, class SourceT >
   struct move_impl
   {     
        static void move( DestT& t,  SourceT& f )
        {       t = f;
                f = SourceT();
        }
   };
 
  template < class T, class A >
   struct move_impl< std::vector<T,A>, std::vector<T,A> >
   {   
      static void move( std::vector<T,A> & t, std::vector<T,A> & f )
      {   t.swap(f);
          f.clear();
      }
   };
 
  template< class DestT, class SourceT >
   void  move( DestT& t,  SourceT& f )
   {	
        move_impl<DestT,SourceT>::move(t,f);
   }
 
Max

    {
alla riga marcata *** il vc6 mi dice bello bello:
c:\exps\exps\move\move.h(21) : error C2989: 'move_impl<class
std::vector<DestT,SourceT>,class std::vector<DestT,SourceT> >' : template
class has already been defined as a non-template class
c:\exps\exps\move\move.h(21) : error C2988: unrecognizable template
declaration/definition
e cioe' prima si lamenta che la classe move_impl e' stata definta prima come
normale (non template) e poi come template. e poi mi dice che la
dichiarazione comunque e' scorretta, etc. etc.
suppongo che sia un'altra sua mancanza ^__^;
ho visto la definizione di vector<bool> (vedere come hanno implementato stl
e' molto utile a volte) e infatti le righe seguenti funzionano:
struct move_impl<int,double>
{
  static void move (int &t, double &f)
  {
     t = f;
     f = 0.0;
   }
};
quindi niente di fatto... altre idee?
bye
Simone Pierazzini
Newsgroup: it.comp.lang.c++
Titolo: Progranmma in background?

Come faccio a far eseguire in background un programma sotto Windows?
Grazie anticipate!
Focala

Come faccio a far eseguire in background un programma sotto Windows?
Magari postando sotto "it.comp.programmare.win32" ? 

...

Newsgroup: it.comp.lang.c++
Titolo: File di grandi dimensioni

]

 wrote in message
38751f4c...@news.biella.alpcom.it...
: Nessuno conosce una librearia C++ (o C al massimo) in grado di
gestire
: file di dimensioni molto grandi (diversi GB), con anche la
: possibilita' di suddividerli fra diversi dischi in modo
trasparente?
: Deve essere compatibile con i vari sistemi unix, ma se e'
portabile su
: altri sistemi tanto meglio :)
Hai gią visto la RAID di linux?
--
       __    __      __
      / /   / / __  / /
     / /   / / /_ \/ /
    / /___/ /___/ / //\    e-mail : 
blak...@tiscalinet.it
   / __  / / __  /    /   ICQ    : 59394345
  / /_/ / / /_/ / /| |   Home   : (under construction)
 /_____/_/_____/_/ |_|__
 \ \the one     \ \ / __\
  \ \and    _____\ \| |_     It is better to reign in Hell
   \ \only _\  __ \ \  _\     Than serve in heaven.
    \ \  _ \ \ \ \ \ \ \       MILTON
     \ \_\\_\ \ \_\ \ \ \
      \________\_____\_\_\
The UNIX Guru's View of Sex:
$unzip ; strip ; touch ; finger ; mount ; fsck ; more ; yes ;
umount; sleep

 altri sistemi tanto meglio :)


Hai gią visto la RAID di linux?
Risolverebbe il problema di concatenare piu' file system, ma non
quello di accedere in modo 'trasparente' a file di dimensioni di
alcuni GB (questo e' un limite dell'implementazione degli stream, non
del sistema).


Fammi sapere...
Il problema e' molto semplice: potrei dover aver a che fare con file
di alcuni GB di dimensione ed avere quindi la necessita' di gestire
puntatori di dim maggiore di 4 byte e quella di dover dividere i file
su piu' dischi distribuiti su piu' macchine.
La bufferizzazione non so fino a che punto possa essere utile, perche'
l'accesso avverrebbe in modo random; piuttosto sarebbe molto utile
poter scegliere come dividere fisicamente fra i dischi i file, per
poter ottimizzare alcuni algoritmi facendo delle letture in parallelo.
Per ora sono molto vago, perche' si tratta semplicemente del
pre-studio di fattibilita', tanto per rendersi conto di cosa c'e' a
disposizione.


 wrote in message : Il problema
e' molto semplice: : potrei dover aver a che fare con file
: di alcuni GB di dimensione ed avere quindi la necessita' di gestire
: puntatori di dim maggiore di 4 byte e quella di dover dividere i file
: su piu' dischi distribuiti su piu' macchine.
La RAID (e la lib std di UNIX-linux) gestisce puntatori a 64 bit, + che
sufficienti, no?
: La bufferizzazione non so fino a che punto possa essere utile, perche'
: l'accesso avverrebbe in modo random; piuttosto sarebbe molto utile
: poter scegliere come dividere fisicamente fra i dischi i file, per
: poter ottimizzare alcuni algoritmi facendo delle letture in parallelo.
stesso dicasi per i buffer.
--
____ __         __,_      __  _____
\  _\_ \  ___ _/ / /\  /\/  \/ / _/ It is better to reign in Hell
 \  _ \ \/ _ '/ , |\ VV / / / / _/ Than serve in Heaven.- MILTON
  \_,_/\_\_,_/_/|_| \__/\__/_/_/
      -- the one and only --     e-mail : 
blak...@tiscalinet.it
                                ICQ    : 59394345



Allora devo farci un pensierino, e' meglio che vada a leggere... :)
Thanks

Newsgroup: it.comp.lang.c++
Titolo: Ho trovato il 43 mo primo di Mersenne (2^29.872.437 -1)

124 giorni con pentium 4 -  2.4 GHZ
Il numero è composto di 8.724.562 cifre!
Grazie a Leonardo Volpi
e alla sua Multiprecision Arithmetic ActiveX dll library

 ha scritto:

Wow, puoi dirmi qual e' l'algoritmo? E come rappresenti un numero di tali
dimensioni?
Ciao

 ha scritto nel messaggio
news:423c6...@x-privat.org...

Ho utilizzato come test di primalità Lucas-Lehmer
(lo stesso utilizzato dal GIMPS)
Multiple Polynomial Quadratic Sieve e NFS per fattorizzazione
e una libreria BigInteger per la precisione
oltre alla Multiprecision Arithmetic ActiveX dll library
(si tratta di dll che trattano numeri come stringhe) e riversano
il numero come stringa.
Ciao

 wrote

Peccato che non abbia 10 milioni di cifre... non hai preso i 100K dollari 
per solo 1.275.438 cifre !
Tommaso Galleri

 per solo 1.275.438 cifre !
Beh se continua a cercare, magari lo trova... :)
ciao

[...]
mi sai dire dove posso trovare il progamma
che ha citato? e free?
Grazie
Ciao

Newsgroup: it.comp.lang.c++
Titolo: Differenza tra queste due espressioni

Ciao a tutti,
considerate questa espressione:
    #define ENCODEERROR(Error) (Error < 0 ? (abs(Error) << 1) - 1 : Error << 
1)
dal momento che abs č inutile nel senso che sono gią sicuro di avere in quel 
punto un valore negativo, ho provato a sostituirlo con:
    #define ENCODEERROR(Error) (Error < 0 ? ((- Error) << 1) - 1 : Error << 
1)
ma ottengo dei risultati diversi. Come mai? Considerate che Error č sempre 
di tipo int, compreso tra -256 e 256.
Grazie 

di tipo int, compreso tra -256 e 256.
Che intendi per "diversi"? a parte il fatto che l'argomento di una
macro dovrebbe sempre essere racchiuso tra parentesi, quindi non:
#define max(a,b) (a>b?a:b)
ma:
#define max(a,b) ((a)>(b)?(a):(b))
Dico, a parte questo, non ci vedo una grande differenza (stai
praticamente mappando i valori negativi sui numeri dispari e i
positivi sui pari).

 macro dovrebbe sempre essere racchiuso tra parentesi,
Infatti, era questo il problema, mancavano le parentesi... Adesso funziona 
:-P
L'argomento passato alla macro è composto da una espressione del tipo 
(int)a - (int)b per cui senza le parentesi si riscontra un problema di 
precedenze.
Grazie x l'aiuto.

Newsgroup: it.comp.lang.c++
Titolo: CERCO TUT su OOP

Salve Ragazzi,
ho appena finito di leggere le basi su un manuale McGraw-Hill. Perň non ho
ancora afferrato i concetti della OOP; mi sapreste indicare dove scaricare
un tutorial (meglio se in italiano, visto che sarebbe il primo
approccio....) sulla OOP in C++. Ve ne sarei molto grato....
Wiz. 
wi...@tiscalinet.it

ho appena finito di leggere le basi su un manuale McGraw-Hill. Però non ho

Newsgroup: it.comp.lang.c++
Titolo: Stringhe, c++ e vb6

Ciao,
è da un po' che mi sto pestando con il Borland C++ per dos, cercando di 
"tradurre" con un amico un pezzo di codice da Visual Basic 6, ma mi sono 
trovato in difficoltà nel trascrivere funzioni che restituiscono stringhe, 
nonchè con l'uso di Mid$(), che non sono riuscito a trovare in c++.
Chi può essermi d'aiuto, spiegandomi come stanno le cose o indicandomi dei 
link è il benvenuto
Grazie,
Ricky

 ha scritto nel messaggio
news:opr4h9r7...@news.tin.it...

Ti consiglio di cercare informazioni sulla classe std::string, ad esempio
guarda il capitolo che le tratta nel secondo volume di Bruce Eckel "Thinking
C++", lo puoi scaricare liberamente al sito 
http://www.bruceeckel.com/

Newsgroup: it.comp.lang.c++
Titolo: VC++: controllo ComboBox;

Salve a tutti,
vorrei sapere se dopo l'inserimento di un controllo ComboBox all'interno di
una finestra di dialogo occorre richiamare la funzione 'Create', poiché
cliccando sulla freccia a discesa non accade nulla.
grazie

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: richiesta

Ciao a tutti,
Vorrei cominciare a studiare la programmazione di rete
su Windows con windows scockets.
Purtroppo però la maggior parte dei manuali parla di winsock
nell'ambito della programmazione C++ per windows e non c++in modalità
console.
Vi sarei grato se poteste consigliarmi qualche documento reperibile via
Internet che parli dell'interfaccia winsock e affini in modalità console
Ciao e grazie in anticipo


Chiedi su it.comp.programmare.win32
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: Quanti messaggi OT

Da quello che leggo ultimamente su questo NG ho la netta sensazione che
si sia  perso il contatto con l'argomento trainante. 
La maggior parte dei messaggi coprono argomenti che sarebbe meglio
rivolgere a it.comp.programmare.win32 e cosi via.
C'e' la possibilita' che questo NG 'torni a casa' ?
Oppure dobbiamo considerarlo un calderone dove chiunque debba chiedere
qualcosa su qualsiasi argomento di programmazione possa trovare risposta
? In quest'ultimo caso sarebbe meglio rinominare il NG come
it.comp.programmare.help.
Cordialmente,
massimo

 wrote in message
370AF9F7...@interbusiness.it...

Visti gli ultimi post mi verrebbe da chiamarlo
it.comp.porcaio.it
Vedi :
The best SEX for FREE ....
Vendo Codewarrior ....
Richieste di lavoro varie ....
Altri non menzionati ....
Non ho parole.
E comunque la tipologia di problematiche affrontate si e' adagiata su
problemi o di Winxxx o su cose molto semplici.
ZEC.

it.comp.programmare.win32, purtroppo...
Perche' mai?!?!? Io sono abbonato a Tin a da 
news.tin.it
 riesco a leggerer
benissimo il suddetto newsgroup! Vabbe' che Tin fa schifo, ma non
esageriamo!
--
Byez
Stefano Tempesta
temp...@tin.it
http://tempesta.freeweb.org

 wrote in message
7ehidu$8bp$1...@nslave1.tin.it...

Ciao, io chiamo da Vicenza e (anche se non ha importanza), il newsgroup
it.comp.programmare.win32 e' disponibile fin dalla creazione nel server
new.tin.it
.
Saluti.

 ti assicuro che ho appena controllato: non si accede!
"non si accede"??
TobiX

 wrote in message
7ek9id$ldc$1...@nslave1.tin.it...


 wrote in message 7eokpv$9eo$1...@nslave1.tin.it...

Newsgroup: it.comp.lang.c++
Titolo: Costruttori e distruttori delle struct

Vorrei un chiarimento sulla dichiarazione delle funzioni membro di una struttura.
Ho definito una struttura in questo modo:
typedef struct {
	CRiskMove*		mSelectedMove;
	RKDataPtr			mRKData;
 
					XPlayStruct (EnvPtr theEnv);
	virtual			~XPlayStruct (void);
} XPlayStruct, *XPlayStructPtr;
Il compilatore mi segnala l'errore "illegal constructor/destructor
declaration" in corrispondenza di ~XPlayStruct. Viceversa, utilizzando
la notazione che segue non mi viene segnalato alcun errore.
struct XPlayStruct {
	CRiskMove*		mSelectedMove;
	RKDataPtr			mRKData;
 
					XPlayStruct (EnvPtr theEnv);
	virtual			~XPlayStruct (void);
};
typedef XPlayStruct XPlayStruct, *XPlayStructPtr;
E' il compilatore a dare i numeri (MW CodeWarrior Pro 2) oppure è c'è
qualche altro motivo che non conosco che spiega il problema?
-- 
Fabrizio Di Giuseppe
fabrizio.KILLME.@iride.com
(remove ".KILLME." from the address to send me a message)

 la conclusione é ovvia.
Grazie, ho capito benissimo. Mi rimane solo da osservare che il
compliatore avrebbe dovuto lamentarsi anche del costruttore, e invece
non lo ha fatto.



Sarebbe interessante santire da Alex Martelli  se esiste una qualche ragione
precisa per quel comportamento o, se invece può essere una anomalia della
implementazione.
Ciao
Mat

qualche altro motivo che non conosco che spiega il problema?
Codewarrior ha ragione, e il motivo e` che un nome e un sinonimo
non sono la stessa cosa.  Un tipo puo` avere un solo "vero nome" (o
nessuno se anonimo), e da 0 a infiniti pseudonimi (typedef); il ctor
e dtor devono essere dichiarati basandosi sul vero nome (l'unico e
solo).  Considera ad esempio:
    typedef struct a {
        // ...
    } b, c, d, e;
Come pensi che si chiami veramente la struttura, e quindi che nome
dovresti usare al suo interno per ctor e dtor?  Risposta, naturalmente:
"a".  Ebbene, se l'a e` omesso la struttura "non ha vero nome" (solo
pseudonimi, che non contano) e quindi in particolare ne` ctor ne` dtor.
Alex

non lo ha fatto.
Come spiegavo: quando arriva al ctor, il sinonimo non e`
ancora stato definito, quindi l'identificatore e` disponibile
(e d'altronde lo sarebbe comunque, essendo in uno scope
piu` annidato).  Quindi e` come se ad esempio avessi
scritto:
typedef struct {
    a();
    // ...
} b;
In C++ "tradizionale" questo non e` un errore: la
struttura (di nome-tipo anonimo e sinonimo b) ha
una funzione-membro a() che non prende alcun
argomento e ritorna, implicitamente, un int.
Questa storia degli "int impliciti" ereditati dal C e`
una pizza che non finisce mai, per cui a norma
dello standard C++ teste` approvato non esiste
piu` -- e il codice in questione diventa errato.  Ma
ben pochi compilatori sono oggi gia` in grado di
applicare rigorosamente lo standard, 7 giorni
dopo la sua approvazione formale (vabbe`, il
testo era in pratica gia` stato approvato a
Novembre, ma quello era solo il "Final Draft"; il
voto che rende quello stesso testo uno standard
e` della settimana scorsa).
Alex
Newsgroup: it.comp.lang.c++
Titolo: Quale compilatore ??

Salve a tutti, dopo aver letto le prima pagine di Thinking in C++ vorrei
cominciare a scrivere un po' di codice. Quale compilatore mi consigliate??
Si trova in rete un ambiente di sviluppo C++ per principianti ??
Vi ringrazio anticipatamente!!

Si trova in rete un ambiente di sviluppo C++ per principianti ??
Penso che il Borland C++ Compiler 5.5 possa andare piu' che
bene.
http://www.borland.com/bcppbuilder/freecompiler/
-- 
Andrea Laforgia - walkietalkie(at)
libero.it
"Meglio cieco che negro" (Stevie Wonder)

Si trova in rete un ambiente di sviluppo C++ per principianti ??
Immagino che usi Windows.
O usi quello Borland come ti è già stato consigliato oppure prova il
Dev-C++ (
http://www.bloodshed.net
) che comprende un editor decente e
il Mingw, un port per Windows di GCC (che AFAIK purtroppo non esiste
nella versione 3.0).
-- 
Marco Barisione (ICQ 84277092)
Newsgroup: it.comp.lang.c++
Titolo: ARGHHH Non mi va più il builder 5 su winxp + sp1 !!!!!

che faccio?!?!??! ci sono patch o mi devo scaricare i service pack
giganteschi dal sito della borland?!?!

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: [OT]

questo è proprio un ot ot
stavo scrivendo un algoritmo di cripting in c++
ad certo punto dichiaravo una variabile...
string script; //  sta per s_cript
poi mi son chiesto ma il nome scritp (inteso come script php,asp ecc.) ha 
qualcosa in comune ?
con cript intenso come crifratura ?
:) scusate questoPEsantissimooooooooooo Ot
buon lavoro 

 con cript intenso come crifratura ?
Uhm... puo' darsi... :-)
Comunque, secondo me, "cript" ha qualcosa in comune anche con "yag", visto
come usi le virgole nei tuoi post... Ah Ah... :-P
Guarda che scherzo, eh! ;-)

 
No. "Script" ha un'origine latina ('scriptum'; tramite il francese antico).
'Crypto-" (con la 'y') viene dal greco kryptós (=nascosto).
Max

Newsgroup: it.comp.lang.c++
Titolo: Cstring 2

Il precedente messaggio aveva lo stesso soggetto di un'altro,
quindi...
Ho trovato un'impleentazione di MD5 in c++ scritta dalla rsa...
Il codice fa uso di CString. Che sono? In che differiscono da
std::string? Sono standard? Se non lo sono il mio messaggio e' OT.
E' possibile passare da CString a std::string in maniera indolore?
Grazie a tutti e ciao..

"Antonio" <unn...@SPAMlibero.it> a écrit dans le message de news:
rco4suokrvbf3jprq...@4ax.com...

Ciao sei OT in quanto CString e' una classe che fa parte delle MFC per cui
non e' standard C++.
Vai a questo indirizzo:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmfc98/htm
l/_mfc_cstring.asp
E per ulteriori informazioni c'e' il newsgroup it.comp.programmare.win32
Maurus

Ciao sei OT in quanto CString e' una classe che fa parte delle MFC per cui
Grazie
Newsgroup: it.comp.lang.c++
Titolo: Domanda ...

Qualcuno di voi sa come si implementa il polimorfismo parametrico in
C++?
In C++ i metodi polimorfi possono essere virtuali?
Grazie.

 In C++ i metodi polimorfi possono essere virtuali?
se ti riferisci al polimorfismo normale, devono essere virtuali o non
ottieni un effetto polimorfico.
Tommaso
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Come vengono implementati i template in c++?
Basta anche a un link.Grazie.

 
No un link non basta. Ci sono interi libri che trattano *solo* i 
template. E spesso non sono esaustivi.

 Basta anche a un link.Grazie.
visto che hai postato la stessa domanda su diversi NG immagino che tu
stia cercando di comparare i vari linguaggi:
http://en.wikipedia.org/wiki/Comparison_of_generics_to_templates


Grazie Tommaso, buon link.
Da quello che leggo e che avevo gia' sentito dire, il compilatore
espande il template per ogni instanza diversa definita nel programma?
Quindi abbiano 1 copia del codice per ogni istanza di template?

Newsgroup: it.comp.lang.c++
Titolo: 2 Domande sul Borland C++ Builder

La prima domanda è questa:
E' possibile passare un tipo come parametro di una funzione?
Sto facendo un programma in Borland C++ Builder con un Form principale che
può contenere diversi form figli (FormStyle=fsMDIChild). Vorrei fare una
funzione che riceve come input un tipo di un form e che dovrebbe restituire
l'indice in MDIChildren di un form di questo tipo. Come posso fare?
La seconda domanda riguarda il componente TListView:
come faccio ad ordinare la lista secondo un campo? In pratica ho capito come
funziona AlphaSort ma non ho capito come usare il metodo
bool __fastcall CustomSort(Commctrl::TLVCompare SortProc, long lParam);
come devo scrivere la funzione SortProc (purtroppo nell'help in linea non
c'è un esempio)?
Grazie
Fabio

 l'indice in MDIChildren di un form di questo tipo. Come posso fare?
Se il tuo release di compilatore supporta appieno la RTTI (run-time
type interface) definita dallo standard C++, _potresti_ passare come
parametro un "const type_info&" e usare l'operatore typeid per
controllare l'eguaglianza (identita`) dei tipi (purche` siano tipi
polimorfici, cioe` con funzioni virtuali).  E` improbabile che questo
approccio sia ottimale ai tuoi scopi; e` piu` probabile invece che
ti convenga usare per la selezione un attributo degli oggetti da
te definito e controllabile.
Alex

Quello che vuoi fare e' probabilmente possibile con meccanismi
proprietari Borland. Per domande cosi' specifiche dovresti rivolgerti ad
un newsgroup dedicato a questo genere di problemi.
Se te la cavi con l'inglese il riferimento migliore sono i newsgroup
della Borland, che trovi sul server 
forums.borland.com
; prova sul gruppo
borland.public.cppbuilder.vcl.components.using .
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: C++

ciao, sono nuovo del programma, sapreste indicarmi dove lo posso scaricare
da internet?
Grazie, ciao

 da internet?
La mia sfera di cristallo dice 1) che per "programma" intendi un
compilatore; e 2) che hai una workstation SunBlade con ultrasparc a 64
bits e solaris 9.  Quindi vai su solaris-freeware e scarica gcc e
binutils.  La URL e'
ftp://sunsite.cnlab-switch.ch/mirror/solaris-freeware/sparc/9/
 .
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Dept. of Physics, Univ. of Padova, Italy          loreti at pd dot infn dot it

 da internet?
Stai parlando di un compilatore?
Leggi il manifesto del gruppo (
http://www.news.nic.it/news-it/
). Lě
troverai l'indirizzo delle FAQ (
http://www.programmazione.it/
). Nelle FAQ
c'č la risposta.
Max

 
ftp://sunsite.cnlab-switch.ch/mirror/solaris-freeware/sparc/9/
 .
 
ROTFL :-)
ciao Anto
-- 
"Computer science is not about computers any more than astronomy
is about telescopes." -- EW Dijkstra
Newsgroup: it.comp.lang.c++
Titolo: cin

Salve a tutti, ho fatto un programmino con una semplice interfaccia grafica
ma ho un problema: quando richiedo un valore da tastiera con cin il valore
mi viene mostrato sullo schermo in un'area che non riesco a gestire... cioé
come faccio a fare apparire la scritta che viene digitata in un punto dello
schermo che decido io?
Grazie dell'aiuto!



Intendi con particolari allineamenti (ad es. lasciando tot spazi a
sinistra perché i valori stampati siano allineati) o in una posizione
qualsiasi dello schermo? Dal tuo messaggio pensi che intendi la secoda
ma in c++ standard non puoi e dipende dal tuo sistema operativo.
-- 
                    Marco Barisione (ICQ 84277092)
Se sei interessato alla creazione di un newsgroup generico in cui si
possa parlare di quei linguaggi di programmazione senza un gruppo
apposito vota per it.comp.lang su it.news.votazioni.

Newsgroup: it.comp.lang.c++
Titolo: ShellExecute()

Per C++Builder3.0
Esiste una funzione tipo ShellExecute() del VB che esegua comandi in linea
al DOS oppure ancora meglio una funzione di questo tipo Shell("file.txt")
apre file.txt con la sua applicazione ad esempio Notepad...
Grazie Mille !


wrote:

OT: scrivi su it.comp.programmare.win32 la prossima volta.
Comunque la ShellExecute() e' una API Win32, quindi usabilissima da C++
Builder. Chiama direttamente quella, e' la piu' semplice e shell-friendly.
Davide Marcato.
----------------------------------------------------
| -- Freelance International Consultant
| -- Windows/COM(+) Development & Training
| -- Technical Writer & Speaker
----------------------------------------------------
| -- Email: 
mar...@programmers.net
| -- Web: 
http://www.DavideMarcato.com
 (UPDATED!)
----------------------------------------------------
Newsgroup: it.comp.lang.c++
Titolo: OCR come?

Salve,
dovrei realizzare un programma OCR (in c++), e vorrei sapere
se c'è qualcuno che sappia da dove cominciare, quali manuali utilizzare,
o qualsiasi altra informazione.
Grazie
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Sky Guy wrote:
| Salve,
| dovrei realizzare un programma OCR (in c++), e vorrei sapere
| se c'è qualcuno che sappia da dove cominciare, quali manuali utilizzare,
| o qualsiasi altra informazione.
Spero che tu sia già a priori un programmatore esperto e che ti paghino
per farlo, e che magari tu diriga un team di persone, perché secondo me
ci metterai "qualche mese" di lavoro intenso...
Un libro che potrebbe esserti utile è:
"Signal and image processing with neural network", Wiley Publishing
Oppure, per approcci più "classici", ci sono numerosi libri a tema
"segnali bidimensionali".... che purtroppo non mi vengono in mente.
Se sei davvero intenzionato a imbarcarti su questa strada lunga e
perigliosa ho comunque un amico a cui chiedere consiglio per altri
titoli di libri (tutti in inglese, tendenzialmente, come spesso per
libri così tecnici).
- --
L a p o   L u c h i n i
l a p o @ l a p o . i t
w w w . l a p o . i t /
http://www.megatokyo.it
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (Cygwin)
Comment: Using GnuPG with Mozilla - 
http://enigmail.mozdev.org
iEYEARECAAYFAkALR90ACgkQaJiCLMjyUvv2qQCdGo4BlgJQf+damDNIi2Y7kpKG
BrUAoIKnc6sNR8w+yE1qL8cFWPLZJe3l
=EWna
-----END PGP SIGNATURE-----

Magari, mi faresti un piacere...
Non esistono delle librerie da utilizzare per semplificarsi la vita?
Grazie mille (la mia e-mail e' sky...@tiscali.itt)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Sky Guy wrote:
| Magari, mi faresti un piacere...
| Non esistono delle librerie da utilizzare per semplificarsi la vita?
Qualcosa di commerciale c'è sicuramente... non ho mai cercato altro, ma
vediamo che dice una ricerca veloce su freshmeat.net...
http://freshmeat.net/search/?q=ocr&section=projects
...potrebbe interessarti quel "libgocr", o uno degli altri...
Lapo
BTW: stai attento alle licenze usate
- --
L a p o   L u c h i n i
l a p o @ l a p o . i t
w w w . l a p o . i t /
http://www.megatokyo.it
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (Cygwin)
Comment: Using GnuPG with Mozilla - 
http://enigmail.mozdev.org
iEYEARECAAYFAkANuTsACgkQaJiCLMjyUvu7XgCggskrBJgUqr6UYtVI4B9zh34o
y4YAniOfBPaVd34+gCXEzWnHytU2s8uq
=zemO
-----END PGP SIGNATURE-----

Newsgroup: it.comp.lang.c++
Titolo: includere file resource.rc

il problema rimane il seguente, in Visual c++ Express Editionvorrei 
aggiungere un file Resource.rc con questo codice:
codice:
#include <windows.h>
MioDialogo DIALOG DISCARDABLE 0, 0, 186, 92
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Un Dialogo vuoto"
FONT 8, "MS Sans Serif"
BEGIN
END
Ma in poche parole il programma me lo impedisce!!
Come posso includere quesrto file nel mio codice, con visual c++?? o devo 
per forza usare dev-c++ ??
grazie 

Prova su it.comp.programmare.win32, questo newsgroup è sul linguaggio
C
++, non su uno specifico strumento visuale per scrivere codice.
Ciao,
Matteo

Newsgroup: it.comp.lang.c++
Titolo: compila... ma il programma si inchioda, dove sbaglio?

Sto lavorando alla funzione di import from csv, che legge i dati da un file
e li scrive in un file in formato più facile da gestire:
in pratica come da oggetto il programma compila e non da errori ( ne in
questa ne nella versione del programma completo) però alla riga con lo
sscanf il programma inchioda e win da la sua classica finestra d'errore.
il codice è il seguente, temo di aver sbagliato la "stringa dei percento"
#include "iostream"
#include "string"
#include "stdlib.h"
main () {
int gio,ann;
char *mes;
double ape,  mas,  min,  chiu;
long int vol;
char riga[] = "30-Agosto-02,5.60,5.88,5.54,5.79,324413"; //esempio di riga.
sscanf(riga, "%d - %s - %d , %lf , %lf , %lf , %lf , %ld ",
              gio, mes, ann, ape,  mas,  min,  chiu, vol);
system("pause");
return 0;
}
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (
http://www.grisoft.com
).
Version: 6.0.427 / Virus Database: 240 - Release Date: 06/12/2002

 }
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it
Newsgroup: it.comp.lang.c++
Titolo: @@ C E R C A S I C + P E R P R I N C I P I A N T E @@





SALVE, MI SONO APPENA AFFACCIATO SUL MONDO DELLA 
PROGRAMMAZIONE IN C+, FINO AD ORA DA UN PUNTO DI VISTA ESCLUSIVAMENTE TEORICO 
VISTO CHE NON SONO RIUSCITO A TROVARE IN NESSUN MODO IL C+!!!!!???


QUALCUNO DI VOI POTREBBE CORTESEMENTE INVIARMELO: 
SEMPRE CHE NON SIA UN PROG FIN TROPPO ESTESO: NON MI INTERESSANO LE VERSIONI 
PIU' RECENTI BASTA CHE POSSA COMINCIARE AD APPLICARE LE PRIME NOZIONI 
TEORICHE.  GRAZIE!!!!!!!        
                
                
        ALBERTO.


 


e-mail
: 
acop...@inwind.it



...


e-mail: 
acop...@inwind.it
Il linguaggio è il "C++" (ottimo inizio chiamarlo "C+"...), non si
URLA, e non si posta in HTML.
Luc.

Newsgroup: it.comp.lang.c++
Titolo: template per stampare un vector (principiante)

Ciao a tutti,
mi spiegate perché il codice seguente non compila?
#include <iostream>
#include <vector>
template <class T> void print_vector(const std::vector<T>& v){
    std::vector<T>::const_iterator i;
    i = v.begin();
    while (i != v.end()){
        std::cout << *i << ' ';
        i++;
    }
    std::cout << std::endl;
}
int main(){}
$ g++ test.cpp
test.cpp: In function 'void Print(std::vector<T,
std::allocator<_CharT> >&)':
test.cpp:7: error: expected `;' before 'p'
test.cpp:10: error: 'p' was not declared in this scope
Grazie

Flavio ha scritto:

A me compila e funziona correttamente anche se uso la funzione 
"print_vector" in "main".
Il messaggio d'errore e' strano in quanto cita un identificatore "p" che 
non compare nel sorgente.
Non e' che quando hai compilato la funzione aveva il seguente corpo?
     std::vector<T>::const_iterator i;
     p = v.begin();
     while (i != v.end()){
         std::cout << *i << ' ';
         p++;
     }
     std::cout << std::endl;
-- 
     Carlo Milanesi
 
http://digilander.libero.it/carlmila

 A me compila
A me no usando il GCC 4.2.2. Però compila se lo modifico così:
typename std::vector<T>::const_iterator i;
Ma forse non c'entra un piffero.
EMG
--
EMAG Software Homepage:     
http://www.emagsoftware.it
The EMG's ZX-Spectrum Page: 
http://www.emagsoftware.it/spectrum
The Best of Spectrum Games: 
http://www.emagsoftware.it/tbosg
The EMG Music page:         
http://www.emagsoftware.it/emgmusic
 

Grazie ad entrambi, m'ero completamente dimenticato del typename
(eppure era ben specificato nel libro che sto leggendo)... così
funziona.
E per la cronaca: sì, ho fatto confusione nell'incollare l'errore di
compilazione; gli errori si riferivano ad i, non p.

 compilazione; gli errori si riferivano ad i, non p.
Beh, io comunque intanto ti vendo questa:
template <typename Iterator>
void
print_vector(Iterator begin, Iterator end, std::ostream& out =
std::cout) {
  typedef typename std::iterator_traits<Iterator>::value_type item_type;
  std::copy(begin, end, std::ostream_iterator<item_type>(out, " "));
  out << std::endl;
}
-- 
blog:  
http://www.akropolix.net/rik0/blogs
 | Uccidete i filosofi,
site:  
http://www.akropolix.net/rik0/
      | tenetevi riso e
forum: 
http://www.akropolix.net/forum/
     | bacchette per voi.
Newsgroup: it.comp.lang.c++
Titolo: Domanda banale sui menu

Ciao a tutti,
	quanto vi sto per chiedere puo' sembrare banale ma non per me.
Mi sono creato un piccola applicazione di prova utilizzando il wizard
di Visual C++6. Ho aggiunto un menu a questa applicazione mediante
l'editor di risorse ma non saprei come fare a verificare a tempo di
esecuzione se qualche voce del menu e' stata spuntata (checked).
Essenzialmente vi chiedo se mi potete postare qualche esempio di
codice in cui si fa tutto cio'.
Non so ad esempio si potrebbe ipotizzare che nel menu file esiste la
voce Options; cliccando su Options visene eseguita una procedura che
verifica se la voce Options e' spuntata. Come si fa?
Grazie.
 
Mauro G. Todeschini
mgt...@lycosmail.com
 

 di Visual C++6.
Spostarsi in it.comp.programmare.win32.
Grazie.
EMG

Newsgroup: it.comp.lang.c++
Titolo: pre i principianti

Questo è il miglior tutorial che ho trovato (è in inglese);
si puo scaricare gratis al sito 
http://www.bruceeckel.com
 ( in *.pdf o
*.html con i coici c++ di esercizio spiegati nel libro).

*.html con i coici c++ di esercizio spiegati nel libro).
Guarda che non è un tutorial ma un libro a tutti gli effetti.
-- 
  _  _                   _     | "L'universo altro non è che un  
 | \| |___ _____ ___ ___|_|___ |  foruncolo del Divenire che si sta
 | .` | -_|     | -_|_ -| |_ -||  stemperando nel mare dell'Essere
 |_|\_|___|_|_|_|___|___|_|___||  ovvero nel Nulla"