mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c++
Titolo: Cstash: chi era costui?

Qualcuno potrebbe per favore spiegarmi brevemente in cosa consistono i
cstash e in quali casi è consigliabile usarli?
Ho letto il capitolo relativo su "thinking in c++", ma con la versione
inglese, e sinceramente non ci ho capito una cippa...
grazie!
Raffaele


   Ma non esistono concetti informatici chiamati "CStash" o "Stash"!
   Nell'opera citata, l'autore esemplifica i concetti del C++ sviluppando
una classe contenitore, alla quale da' il nome "CStash", in cui la "C"
significa "classe" e "stash" significa "mettere da parte".
   Secondo me, quel testo e' rivolto in realta' a chi abbia gia' una buona
conoscenza della programmazione e una discreta conoscenza del linguaggio C.
-- 
	Carlo Milanesi
 
http://digilander.libero.it/carlmila

Newsgroup: it.comp.lang.c++
Titolo: Problemi con packages In Builder 4

Per favore qualcuno mi può aiutare ?
Non riesco con Borland C++ Builder 4 a utilizzare (dinamicamente con
LoadPackage) una funzione contenuta in un package di esecuzione.
La funzione viene correttamente utilizzata se importo il package
staticamente.
(SALVO I CONTROLLI SUI VALORI DI RITORNO IL NUCLEO E')
i=LoadPackage("c:\\soccorso\\Package1.bpl");
GetProcAddress((HINSTANCE)i,"func")();
GetProcAddress restituisce sempre haimè NULL.
Cosa sbaglio ?
Grazie
Willem

 GetProcAddress restituisce sempre haimè NULL.
Non ho C++Builder 4, ma questo sembra un problema di
"name-mangling"... non e` detto che "func" si chiami
davvero "func", puo` portare "decorazioni" varie per
definire di quale esatto overload stiamo parlando.  Ogni
compilatore C++ definisce il "mangling" suo.
Hai modo di avere l'elenco degli esatti nomi esportati
dal tuo .bpl?  Ad esempio, se fosse una .dll, su Win32
userei DUMPBIN.EXE con /EXPORTS, oppure il
QuickView.  Oppure, in fase di linking del modulo
(sempre se fosse una .dll) chiederei una mappa, e
sul file .map leggerei l'esatta corrispondenza fra
nomi+tipi, e nome decorato/mangled che dir si
voglia.  GCC, almeno su Unix, metteva anche a
disposizione delle funzioni chiamabili a runtime per
il mangling/demangling (molto comodo, purtroppo non
standard/portabile; VC++ non ha nulla di equivalente;
BC++Builder, non so...).
La discussione, benche` corretta per i.c.l.c++ a
questo livello, puo` facilmente sfociare in temi di
esclusiva pertinenza di it.comp.programmare.win32
o altri gruppi specifici della piattaforma; quindi, ho
aggiunto i.c.p.win32 all'elenco dei newsgroup, ed
eventualmente si puo` continuare la discussione
solo la`, se il problema e` legato esclusivamente a
un qualche formato non-standard del .bpl, e a trovare
strumenti che sappiano come frugarci dentro...
Alex
Newsgroup: it.comp.lang.c++
Titolo: FAX

Come posso fare a redigere la stampa sulla COM di modo da inviarla via modem
ad un FAX?
Con che codifica il fax legge i dati in ingresso? Dove posso trovare del
materiale?
Se a qualke anima buona venisse qualke idea...
Grazie in anticipo!!
CIAO A TUTTI

 wrote in message
91jh95$d9p$1...@nread1.inwind.it...


Per mia fortuna per la COM, essendo in amibente win, posso utilizzare
l'MSCOMM ma rimane sempre il problema di come comunicare con il FAX, vedere
in che codifica legge i dati....
Ciao e Buon Natale


Newsgroup: it.comp.lang.c++
Titolo: ifstream fallita

Non riesco proprio a capire come mai mi da il seguente errore:
	std::ifstream fr("prova.txt");
	char ch=;
	while(fr.get(ch))
		cout << ch;
non produce alcun risultato perchè col debug ho visto che proprio non ci
entra nel ciclo.
Eppure sono sicura che la sequenza di istruzioni è corretta e in altre
occasioni non ha dato problemi.
Secondo voi cosa c'è che non va???
ci sono altre cause, magari esterne al programma che possono creare
problemi??
		Grazie a tutti
			 Veruska.

 entra nel ciclo.
Probabilmente il file non esiste, non e' leggibile oppure e' vuoto.
Prova a controllare lo stato dello stream dopo le varie operazioni.
Esempio:
  std::ifstream fr( "prova.txt" );
  if (! fr) {
    std::cerr << "Impossibile aprire il file." << std::endl;
    ...
  }
	Mauro

			 Veruska.
Forse non riesce ad aprire il file.
fr sara false se non si riesce ad aprire il file.
Metti il percorso completo per verificare che sia questo l'errore.
Prova cosě :
std::ifstream fr("c:\\....\\prova.txt"); // devi mettere al posto dei
puntini il percorso del tuo file
if (!fr) {                       // verifica che si possa aprire fr
          cout<<"Impossibile aprire il file!";
          return;}
char ch;
	while(fr.get(ch))
		cout << ch;
Ciao .Enzo.

 entra nel ciclo.
Noto i seguenti errori:
- C'è un uguale di troppo dopo char ch
- Manca std:: prima di cout
Per il resto il programma funziona perfettamente, a patto che il file
prova.txt esista e sia apribile (ti conviene testare fr per vedere se
l'apertura è andata a buon fine).
EMG
Newsgroup: it.comp.lang.c++
Titolo: perchè è in errore?

Ciao ragazzi, sto cercando di imparare il C/C++ e seguo 
costantemente l'NG da un po'.
Ho montato su win98se Bloodshed Dev-C++ 4.0.1.1, dopo 
essermi letto la recensione di Lello Mele e sviluppo 
con questo IDE ogni esercizio che via-via mi si propone 
sul testo Deitel & Deitel "C++ Fondamenti di Programmazione".
Ora il problema che mi si presenta e' il seguente:
nel programma di seguito descritto, il compilatore mi 
segnala "parse error before character 0246"
(nella linea che ho evidenziato tra @@@@@@ - suppongo sia '¦' -)
ed è lo stesso errore che mi ha segnalato Borland B.
Escludendo quindi un problema del compilatore, non
riesco a capire dov'è l'errore visto che non ho fatto 
altro che copiare l'esercizio così com'era tranne
che aggiungere la direttiva al preprocessore
#include <stdlib.h>
e l'istruzione di pausa di sistema per visualizzare
il risultato.
Avrei bisogno di capire dov'è lo sbaglio.
grazie a chi vorrà e potrà rispondermi.
ale.
// Calcolare e visualizzare la media dei voti in una classe
// con l'iterazione controllata da un valore sentinella
#include <iostream.h>
#include <iomanip.h>
#include <stdlib.h>
int main()
{
   int total,         // somma dei voti
       gradeCounter,  // numero dei voti immessi
       grade;         // un voto
   float average;     // numero con punto decimale per la media
 
   // fase di inizializzazione
   total = 0; 
   gradeCounter = 0;
 
   // fase di elaborazione
   cout << "Immetti i voti degli studenti, \n"
        << "-1 per terminare il conteggio:\n\n";
   cin >> grade;
 
   while ( grade != -1 ) {
      total = total + grade;
      gradeCounter = gradeCounter + 1;
      cout << "Immetti i voti degli studenti, \n"
           << "-1 per terminare il conteggio:\n\n";
      cin >> grade;
   }
 
   // fase terminale
   if (gradeCounter != 0 ) {
      average =  static_cast< float >(total) / gradeCounter;
      cout << "La media della classe e' " << setprecision ( 2 )
@@@@@@     << setiosflags ( ios::fixed ¦ ios::showpoint )      @@@@@@
           << average << endl;
   }
   else
      cout << "Nessun voto e' stato immesso\n" << endl;
 
   system("PAUSE");                // richiede un Enter per proseguire
   return 0; // indica che il programma e' terminato con successo
}

    }
...
Credo anche io che sia per il carattere Ś (che non so dove hai preso). Prova a
sostituirlo con | e vedi se ti funziona.
--
Andrea Ferro
---------
Brainbench C++ Master. Scored higher than 97% of previous takers
Scores: Overall 4.46, Conceptual 5.0, Problem-Solving 5.0
More info 
http://www.brainbench.com/transcript.jsp?pid=2522556
Newsgroup: it.comp.lang.c++
Titolo: cin e invii

Avete presente quei bei programmi di installazione che chiedono cose del
tipo:
Bottoni del mouse (3):
e se premete semplicemente invio il programma prende per buono che il vostro
mouse abbia 3 bottoni, se invece scrivete qualcosa e poi invio legge quello
che avete scritto. Come si può fare? Il cin ignora gli invii, manipolatori?


Leggi da cin una stringa. Se risulta vuota, allora imposta il valore di 
default, altrimenti convertine il contenuto in numero.
-- 
     Carlo Milanesi
 
http://digilander.libero.it/carlmila

 qualcos'altro.
Per leggere una stringa, usa il metodo "getline", come nel seguente codice:
#include <iostream>
#include <string>
int main() {
	std::string s;
	int valore = 12;
	std::cerr << "Inserisci il valore [" << valore << "]: ";
	getline(std::cin, s);
	if (! s.empty()) valore = atoi(s.c_str());
	std::cerr << "valore = " << valore << std::endl;
	return 0;


      
http://digilander.libero.it/carlmila
perdonami, ma l'if non funziona, s.empty() è sempre falso (l'ho provato
sotto win, magari sotto linux funziona perché ha una codifica diversa per
l'invio). Hai un motivo particolare per usare cerr?

 l'invio).
Ho provato il suddetto codice sia con Microsoft Visual C++ 2003 che con 
gcc 3.3.1 cygming per Windows, e con entrambi i compilatori funziona sia 
con cerr che con cout.
 > Hai un motivo particolare per usare cerr?
No, ho provato prima con cout e poi con cerr.


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

Chi mi sa dire qual'e' la differenza tra il tipo di formattazione 
%i   e   %d  che posso usare nel printf?
Per ora ho sempre letto che entrambi lavorano con i tipi interi.
Sicuramente ci sara' una differenza tra i due...
Grazie
~Guybrush~

 ~Guybrush~
Newsgroup: it.comp.lang.c++
Titolo: fopen, fread, fwrite

Sono un principiante.
Uso il seguente codice per copiare il file "MyFile_1.txt" nel file
"MyFile.txt".
Il problema è il seguente: il processo scrive nel file di destinazione,
oltre che il contenuto del file d'origine, anche una coda di caratteri che
non c'entra nulla, ossia caratteri inensistenti nel file d'origine.
Qualcuno mi sa dire perché?
#include <cstdio>
#include <cstdlib>
using namespace std;
int main()
{
     FILE *FileOrigine, *FileDestinazione;
     long lSize;
     char *buffer;
     FileDestinazione = fopen( "MyFile.txt", "w+" );
    FileOrigine = fopen( "MyFile_1.txt", "r+" );
     if( FileOrigine == NULL )exit( 1 );
     // Ottiene la dimensione del file.
     fseek( FileOrigine, 0, SEEK_END );
     lSize = ftell( FileOrigine );
     rewind( FileOrigine );
     // Alloca memoria sufficiente a contenere tutto il file.
     buffer = ( char* ) malloc ( lSize );
     if( buffer == NULL )exit( 2 );
     // Copia il file nel buffer.
     fread( buffer, 1, lSize, FileOrigine );
     /*** Tutto il file è copiato nel buffer ***/
     /* Scive il file MyFile.txt */
     fwrite( buffer, 1, lSize, FileDestinazione );
     fclose( FileDestinazione );
     // Termina
     fclose( FileOrigine );
     free( buffer );
     return 0;
}
Grazie per qualsiasi iuto.
OS

     FileOrigine = fopen( "MyFile_1.txt", "r+" );
E' strano che tu apra entrambi i files in lettura/scrittura, (col +)
ma non penso sia quello il problema.
Il problema potrebbe essere che stai lavorando probabilmente sotto
Windows e allora devi aprire i files in modalita' binaria con "wb" e "rb".
Poi allocare tanta memoria quanto sono lunghi i files e'
una cosa non tanto sensata, se i files possono essere lunghi.
ciao,
g.

      buffer = ( char* ) malloc ( lSize );
MALLOC!?!?! In C++!?!?!
:-))) 
-- 
Luc

 g.
Grazie, cosě funge.
In effetti, la lettura-scrittura era un errore giŕ corretto. In ordine
all'allocazione di memoria, ti sarei grato se volessi suggerirmi una
strategia diversa.
OS

 strategia diversa.
sempre usando le stesse funzioni si puo' fare come segue,
vedi di capire da solo come funziona.
(ho messo solo le istruzioni minime, non ci sono check vari...)
Altrimenti per una versione piu' in stile c++ vedi messaggi
degli ultimi giorni (efficienza in copia...) ci dovrebbe essere
un esempio di copia usando gli stream del c++.
ciao,
g.
int main()
{
   char buf[4096];
   FILE *fin  = fopen("MyFile_1.txt","rb");
   FILE *fout = fopen("MyFile.txt","wb");
   int letti;
   while ((letti=fread(buf,1,4096,fin))>0) fwrite(buf,1,letti,fout);
   fclose(fin);
   fclose(fout);
   return 0;
}

Newsgroup: it.comp.lang.c++
Titolo: dll e lib

Ciao a tutti,
premetto che sono alle prime armi con il c.
Ho il seguente problema:
devo utilizzare in una dll activex dei file .lib di terze parti,
scritti in c.
Come posso fare, utilizzando il compilatore vc6 ? 
Grazie,
Vincenzo.

vincen...@gmail.com
 wrote:

Quì sei OT, rivolgiti su it.comp.programmare.win32
-- 
"E' solo dopo aver perso tutto che siamo liberi di fare qualsiasi cosa."
"buuuhhhhhhhhhhrrrrrrr"
Newsgroup: it.comp.lang.c++
Titolo: Borland C++ Builder 4 trial

salve mi chiamo Alex,
        Ho scaricato la versione trial di C++ BUILDER 4
valida per 60 giorni, ho installato, quando ho provato ad lanciarlo
esci una finestra che dice che il 60 giorni sono scaduti.
e per caso successo qualcosa del genere ad qualcuno di voi?
ho io sono unico sfigato?
grazie
Alex

ho io sono unico sfigato?
*** o *** io sono...
:-)))))
A parte gli scherzi (l'italiano e' pur sempre italiano, cavolo!), avro'
installato almeno 10 volte la trial del builder su 10 computer diversi,
l'ultima volta proprio 2 giorni fa su Win2000 RC2 e non mi e' mai accaduto
nulla del genere. Non e' che la data del computer e' errata? Per esempio e'
rimasta indietro perche' non e' passato al 2000?
Ma hai proprio scaricato tutta la trial? Ma chi paga, papa'? Io mi sono
fatto mandare il cd a casa, e' piu' semplice!!!
ciao ciao
--
Stefano Tempesta
TSoft - 
www.tempesta.org
in...@tempesta.org
Newsgroup: it.comp.lang.c++
Titolo: Aiuto! Errore C2352: illegal call of non-static member function

Ciao a tutti,
ho creato una piccola classe Utils che dovrebbe raccogliere delle 
funzioni di utilizzo comune nel mio progetto.
per esempio:
#include <string>
class Utils
{
public:
     std::wstring str_to_wstr(const std::string& s)
     {
         std::wstring temp(s.length(),L' ');
         std::copy(s.begin(), s.end(), temp.begin());
         return temp;
     }
     std::string wstr_to_str(const std::wstring& s)
     {
         std::string temp(s.length(), ' ');
         std::copy(s.begin(), s.end(), temp.begin());
         return temp;
     }
};
//poi, in un'altra classe cerco di chiamare la funzione
class MyClass
{
public:
     MyClass()
     {
         //errore c2352
         std::string str = Utils::wstr_to_str(L"my string");
     }
     ~MyClass(){}
};
int main()
{
     MyClass* mc = new MyClass();
     return 0;
}
Perche' ricevo il messaggio di errore
c2352:illegal call of non-static member function  ?
Ciao
Francesco

 c2352:illegal call of non-static member function  ?
Perché per chiamare un metodo attraverso la classe e non dall'istanza 
quest'ultimo deve essere un metodo di classe non di istanza e quindi, 
appunto, static.
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
 

 appunto, static.
Grazie!
Ora e' chiarissimo!

      }
Il problema e' ancora peggiore nella conversione inversa, dove per
definizione esistono valori validi di wchar_t che non sono
rappresentabili come char.
Ciao,
Nicola

Ora e' chiarissimo!
Però fa' come dice Nicola, usa i namespace!

 Però fa' come dice Nicola, usa i namespace!
Va bene
Prometto che usero' i namespace ;-)
Grazie dei consigli
Francesco

Newsgroup: it.comp.lang.c++
Titolo: Variabili esterne al main e costruttore

Salve,
volevo chiedere se dichiarando una variabile nel file .cpp che contiene
main() ne chiamo il costruttore.
Es.
----------FILE MAIN.cpp---------
#include "variabili.h"
A oggetto_1(2,4);
void main(void){
             /......../
oggetto_1.Metodo();
/..../
}
------------END of main.cpp------------
------------Variabili.h--------
/........../
extern A oggetto_1;
---------End of variabili.h-----
e suppongo che la classe A ha un costruttore
A:: A(int x,int y)
Se cosi non è come faccio a definire la variabile oggetto_1, che mi occorre
definita già in main.cpp ?
Ho provato ad inserire la definizione di oggetto_1 all'interno *della
funzione* main.... ma non va, perchè durante il linking il compilatore trova
non risolto il riferimento ad oggetto_1 nei files in cui lo adopero (ed in
cui ho chiaramente effettuato #include "variabili.h")
Bye,
Sebastiano

Funziona cosi'. Il costruttore e' chiamato.
Ciao,
Nicola

Quindi è giusto.... ma allora perchè durante il debug vedo immondizia pura
al 100% al posto dei corretti valori con cui inizializzo le variabili
membro?
Grazie per la vostra gentile collaborazione,
Sebastiano

 membro?
Ad esempio?

Newsgroup: it.comp.lang.c++
Titolo: aiuto: stream e file binari

Non so bene come esporre il mio problema.
Ho necessita' di leggere un file al livello piu' basso possibile (per
intenderci, voglio leggere quanto vedrei se aprissi il mio file in un hex
editor) e mi chiedevo se potessi utilizzare in qualche modo gli stream. La
necessita' di ricorrere agli stream sta nel fatto che vorrei poter compilare
il mio sorgente sia sotto Dos che sotto Unix senza sostanziali modifiche (e
credo che gli stream rappresentino una strada indipendente dalla macchina e
dal SO utilizzato, per quanto "poco efficienti" possano essere).
Sperodi essere stato chiaro :-)
Grazie. nIcO

>dal SO utilizzato, per quanto "poco efficienti" possano essere).
Se usi la classe standard fstream puoi aprire il file in modo binario (vedi costruttore).
Antonio Donatiello




costruttore).
Grazie, e scusami, chissa' perche' non si ha mai una guida di riferrimento
quando serve !! ( o chissa' perche' nessuno ha mai voglia di leggersi i file
header :-) lo so, fa bene, ma...).
ciao, nIcO

Questo č un esempio per un file aperto in modo input, binario.
L'esempio č errato. La modalitą di apertura (parametro unico) del file va
specificata utilizzando l'operatore OR bit a bit "|". Quindi
fstream FileIN("FileDaLeggere.bin",ios::bin | ios::in);
--
Francesco Trotta
http://space.tin.it/computer/ftrotta
Elimina "x_" dal mio indirizzo per mandarmi
un messaggio direttamente
Newsgroup: it.comp.lang.c++
Titolo: Cast Float to int, perchè!?!

Io non so perchè...aiutooo...
---------------codice----------------
float b = 1.06;
b *= 100;
int a = int(b);
-------------end---------------------
MI RITROVO:
b = 106.0000
a = 105!!!!!!
PERCHE'?!?!?!?
Ho ho scoperto un nuovo bug del visaul...o non c'ho capito un czzo di 
c++... (?!)
...spero una via di mezzo tra le due..
Ho anche cercato su alcune guide e dicono che il cast int(float) non è una 
vera e propria conversione ma il semplice troncamento delle cifre dopo la 
virgola....
GRAZIE
p.s. uso il visual c++ 6...

virgola....
La regola dice proprio questo ... quindi 106-qualcosa
diventa 105 e -(106-qualcosa) diventa -105: in pratica
si arrotonda sempre verso lo zero (cosa brutta
matematicamente e anche dispendiosa da calcolare).
Se vuoi convertire un numero da virgola mobile ad intero
approssimando all'intero piu' vicino puoi usare invece:
  int a = int(floor(b+0.5));
HTH
Andrea

WAOOOO...
Grande e... grazie!!
ho capito il problema e ora il programma funziona...
CIAO!
p.s. e io che pensavo di aver scoperto un nuovo bug del MS Visual ; )

Newsgroup: it.comp.lang.c++
Titolo: Header Guard

Salve a tutti, come mai gli header guard non evitano definizioni multiple 
in questo caso?
-------------------- test.h ---------------------
#ifndef __TEST__
#define __TEST__
int a = 101;
#endif
-------------------- main.cpp -------------------
#include "test.h"
#include <iostream>
extern int a;
int main() {}
-------------------- foo.cpp --------------------
#include "test.h"
--------------------
g++ main.cpp foo.cpp
/tmp/ccL0i9mY.o:(.data+0x0): multiple definition of `a'
Mille grazie in anticipo, ciao

Perché includi il file test.h sia in foo.cpp che in main.cpp; poiché
per ciascuna unità di compilazione non è ancora definito __TEST__,
all'inclusione di test.h viene definito un intero chiamato "a" -- ciò
infatti accade due volte, una per foo.cpp e una per main.cpp. Quando
si arriva alla fase di linking è stata allocata due volte la memoria
per a con lo stesso nome di simbolo, cosa che porta ad errore.
Il modo giusto per ottenere il risultato che presumibilmente desideri
è:
* usare "extern int a" nei due file .cpp, ed evitare di includere
test.h, oppure evitare "extern int a" perché ridondante includendo già
test.h, nonché:
* mettere solo una dichiarazione "extern int a;" nell'header test.h, e
inserire la definizione vera e propria in un file di implementazione
test.cpp.
La differenza fondamentale da capire è proprio tra definizione e
dichiarazione.
Se poi una variabile ti serve che sia globale in un unica unità di
compilazione, consiglio di usare il qualificatore "static".
Ciao,
Matteo


 test.cpp.
Mille grazie, usero' la seconda in accordo con quanto indicato nel 
Primer, cioe' di non mettere definizioni nell'header, eccetto che per 
classi, oggetti costanti e funzioni inline. Thanks
Newsgroup: it.comp.lang.c++
Titolo: CLUSTERING

Qualcuno sa dirmi dove posso trovare deigli algoritmi in C++ sul clustering
?
Grazie :)

 ha scritto nel messaggio
news:BaFh9.5401$Hc7....@twister1.libero.it...

se conosci linux, potresti "sviscerare" qualche minidistribuzione
specializzata sul clustering...
prova a cercare qui
http://www.linuxlinks.com/Distributions/Floppy/
oppure qui
http://www.linuxlinks.com/Distributions/Mini_Distributions/
avresti il vantaggio di avere qualcosa di concreto su cui provare i tuoi
programmi e, con le versioni floppy, potresti farlo senza installare nulla
sui pc che usi per provare.
ciau!
Raffaele
Newsgroup: it.comp.lang.c++
Titolo: multiset e compare

salve a tutti,
per creare un multiset con una funzione di comparazione case insensitive, ho
usato
struct compare
{
	bool operator() (const char &uno, const char &due) const
	{
		return toupper(uno) < toupper(due);
	}
};
.....
multiset<char,compare> ant(tmp.begin(),tmp.end());
quello che non mi e' chiaro ancora e' come leggere le definizioni dei template.
nel file stl_multiset.h c'e' questa definizione :
#ifndef __STL_LIMITED_DEFAULT_TEMPLATES
template <class _Key, class _Compare = less<_Key>,
	class _Alloc = __STL_DEFAULT_ALLOCATOR(_Key) >
#else
template <class _Key, class _Compare,
	class _Alloc = __STL_DEFAULT_ALLOCATOR(_Key) >
#endif
da principiante quale sono, all'inizio ho cercato prima di passare un puntatore
a una semplice funzione bool compare(const char *, const char *) e poi ho
cercato di creare una classe con una funzione simile ... da cosa dovevo capire
che dovevo creare una struct con un operatore () ??
questo per cercare di evitare di sommergervi di domande e di cercare di venirne
a capo da solo cercando di interpretare i file header ...
ciao e grazie per tutto l'aiuto che mi state dando ... un po' di pazienza con
un "procedurale" C ...
-- 
#include <stdio.h>
int main(void){char c[]={10,65,110,116,111,110,105,111,32,98,97,114,98,111,110,
101,32,60,104,105,110,100,101,109,105,116,64,116,105,115,99,97,108,105,110,101,
116,46,105,116,62,10,10,0};printf("%s",c);return 0;}

 cosa dovevo capire che dovevo creare una struct con un operatore () ??
Le uniche informazioni che puoi desumere guardando soltanto la 
dichiarazione di un template sono le categorie dei parametri: tipi, valori 
integrali, o puntatori a oggetti o funzioni con external linkage. Quindi, 
dove dice 'class Compare' non ci puoi mettere un puntatore a funzione, ci 
devi mettere un tipo.
Per il resto, i requisiti dei parametri (affinché il template possa essere 
instanziato e funzionare correttamente) sono necessariamente illustrati 
nella documentazione.
Nel caso della libreria standard la documentazione è testo dello Standard, 
ma per lo studio è preferibile avvalersi di un buon manuale o un tutorial. 
Di certo non è pensabile poter imparare ad usare la libreria standard 
sbirciando qua e là nei file header.
Max

 Max
ciao ....


Newsgroup: it.comp.lang.c++
Titolo: Problema con c++ builder...!

Come faccio ad inserire dei blocchi
di codice ASM (assembly) in programmi
creati con C++ Builder della Borland?
GRAZIE!

Roberto, con fare molto raffinato, poco fa o al massimo il 19:40, venerdě 
09 novembre 2001, ha detto ...

int reg;
asm {
push;
mov ax,bx;
mov reg,ax;
...
...
pop;
}
ecco, non mi sovviene se i puntievirgola ci vogliono!
-- 
In privato, contattami omettendo il punto tra la i e il sei.
Remove dot betwen i and six, to contact me in PVT.
-->Echelon good bay<--

 ha scritto nel messaggio
news:qEYG7.55595$sq5.2...@news.infostrada.it...

Newsgroup: it.comp.lang.c++
Titolo: [OT]Borland c++...NG in italiano?

scusate l'OT...
esiste un NG su borland c++ builder in italiano?
domanda di riserva
esiste un buon sito su borland c++ builder in italiano?
in entrambi i casi ho provato a cercare con google, ma mi sono perso.....
°_°
Raffaele

esiste un buon sito su borland c++ builder in italiano?
sul newsgroup di borland non e' obbligatorio postare in inglese
Antonio


ottimo...allora vado a vedere se sono vivi!
grazie mille!
Raffaele

Newsgroup: it.comp.lang.c++
Titolo: Quale scegliere

Per iniziare un saluto a tutti.
Premetto che sono un buon conoscitore del c++, ho intenzione di realizzare
un applicazione windows che usi i DataBase, possiedo sia il VC++ che il
Borland C++ Builder 3.
Non ho ancora deciso quale usare, soprattutto per la gestione dei DB, ho già
provato ad usare il Borland e mi sembra buono, però ho dato un occhio alla
documentazione sui DB e mi sembra alquanto complicata la gestione degli
stessi. Del VC++ non so niente ho usato un po di Visual Basic.
Datemi un consiglio.
Grazie mille
DOXER

 Datemi un consiglio.
Rivolgiti ad un News Group + adatto.
Ciao
Gaetano.
-- 
Posted from 
dell-01.mm.eutelsat.org
 [194.214.173.17] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ha scritto nel messaggio
news:070701c149c9$83357f60$1aadd6c2@gmendola...

Newsgroup: it.comp.lang.c++
Titolo: operatore &

Una domanda facile facile.
Come tipo di dato ritornato da una funzione conviene o no utilizzare, dal
punto di vista dell'efficienza, un riferimento. Mi spiego meglio. Quale
delle due soluzioni seguenti e' piu' veloce quando il tipo del risultato e'
una classe di grosse dimensioni:
classeA f(...) { ... }
classeA &f{...} {...}
ciao, Marco Altieri

 classeA &f{...} {...}
La seconda. Solo che non puoi usarla sempre.
Per restutuire una reference ad qualcosa devi ritornare un oggetto che
non e' stato allocato automaticamente sullo stack. Questo, ad esempio,
non funge:
classe_incasinata& trova_roba(......)
{
  classe_incasinata a(...parametri...);
  (serie di cose incasinatissime che alterano a)
  return a;
}
Questo perche' "a" e' definto localmente e viene distrutto quando esci
dalla funzione. Quindi o te lo allochi te con un new oppure usi
qualcosa che esiste da qualche altra parte (che so, un elemento di un
array). Io di solito tendo a usare il return value di tipo reference
per roba che gia' esiste, per le funzioni "che allocano" preferisco
usare esplicitamente un puntatore, visto che posso restituire NULL per
indicare una condizione di errore (ad esempio), cosa che con una
reference non puoi fare.
Ciao,
Alberto
-- 
Alberto BARSELLA
PGP fingerprint = 13 3F 22 D2 0B 0A D3 25  F1 89 FE B5 82 AD 75 2A
** Beliefs are dangerous. Beliefs allow the mind to stop functioning.
A non-functioning mind is clinically dead.  Believe in nothing... **

punto di vista dell'efficienza, un riferimento. Mi spiego meglio. Quale
Il riferimento sarebbe efficiente, ma quasi mai puo` essere corretto.
Myers, "Effective C++", 2a edizione, spiega in grande e diffuso
dettaglio il perche` e il percome.
Se ci sono problemi di efficienza se mai e` meglio passare all'idioma
handle/body, la design pattern privilegiata tutte le volte che altrimenti
i copy ctor e i (copy) assignment operator minacciano di dominare il
tempo di esecuzione di un programma...
Alex
Newsgroup: it.comp.lang.c++
Titolo: [?] BSTR, LPTSTR, ...

Saluti a tutti.
Premetto che ho sempre programmato in VC++ facendo uso di MFC.
Ora mi trovo a devinire l'interfaccia di una dll che deve essere sviluppata
sa un università in non so quale linguaggio, ma deve supportare un
interfaccia standard, quindi non MFC.
La mia domanda e' questa: cosa uso per le Stringhe dato che non posso usare
le CString?  Meglio i char* o qualcosa tipo BSTR o LPTSTR?
Nel primo caso ad esempio non potrei ritornare da una function un char* ma
dovrei passarlo per valore. Sbaglio?
Magari ho detto una marea di .............
TIA
locaduck

le CString?  Meglio i char* o qualcosa tipo BSTR o LPTSTR?
Che cosa ne dici di std::string? :-))(sorriso a 58 denti)
O, se proprio non vuoi, usa char*, almeno è portabile.
Comunque, std::string è (in questo e in molti altri casi) molto più
conveniente.
Ciao
Domenico Barra

 wrote in message
news:HtiO5.17657$BF.5...@news.infostrada.it...


 dovrei passarlo per valore. Sbaglio?
usa char *
considera che sotto windows le LPSTR (non LPTSTR, stringhe x stampanti?!?!
;))
sono effettivamente char*!!!

sono effettivamente char*!!!
LPTSTR sono char* se compilate in modo byte-code, ma sono
automaticamente unsigned short* se compilate in modo unicode...
Non immagini neanche quanto sia comodo quando devi scrivere software
per entrambe le 'codifiche'.
Luc.

IO TI CONSIGLIO UN BEL ARRAY DI CHAR
MAGARI UN CHAR STRING[]
E' MOLTO UTILE, MA FORSE NON NEL TUO CASO. MI SPIACE.
CMQ, SE VUOI TI CONSGILIO DI FARE UNA STRUTTURA CON I VARI TIPI CHAR*.
CI VEDIAMO
Newsgroup: it.comp.lang.c++
Titolo: Algoritmo di compressione

Dove potrei reperire un classe o una routine di
compressione-decompressione ?
grazie

 compressione-decompressione ?
Su Internet

Su Internet
Ma va' ?
E io che lo cercavo sulle pagine gialle ......

 grazie
prova a cercare la zlib
-- 
Pela


A domanda cretina, risposta cretina.
La prossima volta perdi tre secondi a cercare con
google prima di fare questi post del cazzo.

google prima di fare questi post del cazzo.
L'avevo gia fatto .
Trovate due classi ma entrambi generano eccezioni e non funzionano.
Ma a un cretino come te che gli frega .........

Newsgroup: it.comp.lang.c++
Titolo: (HELP)ragazzi come risolvereste questo problema?

ciao ho un piccolo problema!
ho un mfc in c++ che fa il suo lavoro perfettamente, chiamiamolo A!
ed ho un'altro programma .exe fatto in c++ che da solo sotto il suo
main va altrettanto bene, chiamiamolo B!
ora voglio che all'evento onPress etc il mio primo programma A faccia
partire proprio il codice del secondo B! il problema è che non so come
richiamare il main dell'applicazione B dal primo A! ho provato ad
inserire tutto il codice in una classe e richiamarla ma questa mi da
sempre errori in esecuzione! ho provato in tanti modi ma una cosa che
per esempio mi manca sono l'int argv e il const char * * argc che nel
winmain non trovo!
mi aiutate grazie!


Consiglio 1: hai mai provato a concludere una frase con un semplice 
punto, invece di un punto interrogativo? Ti assicuro che e' 
un'esperienza emozionante le prime volte! :)
Consiglio 2: su questo newsgroup si parla di C++ standard, mentre quello 
che tu chiedi e' strettamente legato al sistema che usi. Ti consiglio di 
chiedere su it.comp.programmare.win32, che e' il newsgroup adatto, e 
dove sicuramente molte piu' persone ti sapranno rispondere in maniera 
adeguata.
-- 
/**
  * 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
  */

 punto, invece di un punto interrogativo?
interrogativo -> esclamativo
Tommy

 ho un mfc in c++ che fa il suo lavoro perfettamente
Non hai capito una mazza di ciò che vuoi parlare, secondo me. :-P 
-- 
Luc

...

La soluzione piu' semplice e' includere nel tuo programma A un
istruzione tipo:
std::system("NomeProgrammaB");
in modo che sia lanciato B come da linea di comando.
In alternativa potresti spostare tutto il codice contenuto nella
funzione main() di B in una nuova funzione, ad esempio mioMain(), da
richiamare tanto nel main() ora vuoto di B quanto dove vuoi in A.
Chiaro che in A devi ingegnarti per ricostruire gli argomenti che devi
passare a mioMain().
Ciao,
Nicola

grazie nicola
proverň con la prima che hai detto dato che la seconda da parecchi problemi.
Newsgroup: it.comp.lang.c++
Titolo: mi sono dimenticato i puntatori a funzione

ciao a tutti
ho bisogno di un piccolo ripasso sui puntatori a funzione.
il mio obbiettivo č fare una classe con gli eventi definibili, quindi:
void ClickatoBottone1(void* p);
istanza.OnClick = ClickatoBottone1;
quindi.... uhm...
per il membro OnClick della classe Bottone (istanza) devo definire il prototipo cosě:
typedef void (*EVENT_PROTO)(void*);
giusto?
e dichiarare il membro onclick cosě:
class Bottone {
public:
    EVENT_PROTO OnClick;
}
poi (qua mi si annebbia la memoria...) per assegnargli il puntatore di una funzione:
void ClickatoBottone1(void *p)
{
    return;
}
istanza_bottone_1.OnClick = ClickatoBottone1;
č correttň?
e dall'interno della classe poi come faccio a chiamare la funzione ClickatoBottone1() ?
forse cosě:
void Bottone::FireEvent(...)
{
    (*OnClick)( (void*)this );
}
č tutto corretto?
un'ultima cosa (scusate se mi sto dilungando un po')
se definisco la funzione cosě:
void ClickatoBottone1(Window* p);
la posso assegnare normalmente a onclick? o c'č bisogno di fare qualcosa?
grazie mille
ciao
xaero

 ho bisogno di un piccolo ripasso sui puntatori a funzione.
potresti invece utilizzare il pattern Command, molto piu' versatile, 
secondo me

 secondo me
che cosa è?
fa parte della STL?
mi puoi far vedere un esempio, tanto per capire di che si tratta?
grazie
ciao
xaero

Newsgroup: it.comp.lang.c++
Titolo: Dll in c++

Salve,
ho importato una libreria fatta in vb, in un progetto c++ con
la direttiva #import "burn.dll".
Il compilatore mi ha creato due file : burn.tlh e burn.tli.
Cosa devo farci? ...devo farci l' include?
Ho provato a fare l' include di burn.tlh e compila,
ma se cerco di instanziare un oggetto della classe della libreria
mi da errore.
Qualcuno sa dirmi qualcosa?
Grazie

 Grazie
di niente!
-- 
"Dato che sono un duro non mi aspetto di piacervi, ma piu' mi odierete e 
piu' imparerete. Io sono un duro pero' sono giusto, qui non si fanno 
distinzioni razziali, qui si rispetta la gentaglia come negri, ebrei, 
italiani e messicani: qui vige l'uguaglianza non conta un cazzo nessuno!"
Newsgroup: it.comp.lang.c++
Titolo: variabili statiche

ciao, dove si resettano la variabili/puntatori statiche di una classe,
dato che non si possono reettare nel distruttore, devo crearmi una
funzione ad hoc???
e se si, la dovrei richiamare alla chiusura del programma???
ciao e grazie in anticipo!!!
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 e se si, la dovrei richiamare alla chiusura del programma???
Cosa intendi per resettare?
-- 
Andrea Bergia - studente          Linux Registred User #281550
Per favore non mandatemi allegati in Word o PowerPoint.
Si veda 
http://www.fsf.org/philosophy/no-word-attachments.html

> Cosa intendi per resettare?
volevo dire che mentre nel costruttore inizializzo i vari puntatori della
mia classe di tipo HANDLE, char ecc... ponendoli uguali a NULL, per gli
HANDLE, di tipo static, li devo inizializzare al di fuori della definizione
della classe,
es:
definisco = NULL il puntatore fuori dalla classe
HANDLE MiaClasse::hEvento = NULL;
Domanda:
ma quando poi devo distruggere ogni riferimento all'oggetto puntato
(delete... MioPuntatore = 0...) dove devo scrivere queste istruzioni??? non
credo nel distruttore della classe, ma allora dove?


Newsgroup: it.comp.lang.c++
Titolo: Seriale in C++ Builder

Salve a tutti,
vorrei implementare un algoritmo in C++ Builder che mi permetta di 
comunicare attraverso la seriale (protocollo RS-232).
Vorrei avere informazioni riguardo le routine che gestiscono la seriale
(analogamente alle procedure bioscom e bios_serialcom del C) oppure se
esiste una classe già pronta all'uso (purtroppo non ho ancora il 
manuale...)
Grazie mille, 
Linda.

Nella dsp (un mirror veloce:
http://www6.uniovi.es/pub/delphi/index.htm
)
trovi qualche componente. Controcorrente ti consiglio comunque
mscomm32.ocx  della m$, perche' non ha problemi..
    m

Io ho scritto una classe che mi permette di dialogare con la seriale in un
thread separato, se ti interessa fammi sapere che te la mando privatamente.
Ciao.
--
Stefano Tempesta
PC Service Software
http://www.tempesta.cc.st
s.tem...@pcs-online.it

 wrote in message 3796CA...@tin.it...

Newsgroup: it.comp.lang.c++
Titolo: Passaggio di una lista ad una funzione

Spero di trovare il vostro supporto morale.
Il mio intento č passare una lista ad un metodo, che la modifica, e
ritrovarmi la lista modificata all'esterno.
Per evitare puntatori e contro-puntatori preferisco l'implementazione di
list della libreria standard.
La forma corretta č passare per reference o direttamente il nome della
lista?
Es.
list <unsigned long int> l;
Tanto per averla presente. Metto, perň, la definizione in main().
void func_1(unsigned long int &x){
    x.push_back(4);
    x.push_back(10);
    x.push_back(13);
   /*......*/
    x.push_back(145678);
    }
void func_2(unsigned long int *y){
    y.push_back(4);
    y.push_back(10);
    y.push_back(13);
   /*......*/
    y.push_back(145678);
    }
main(){
list <unsigned long int> l;
func_1(l);
typedef list<unsigned long int>:: iterator  Iter;
for(Iter i=l.begin();i!=l.end();i++)
    cout<<"elemento "<<(*i)<<endl;
return 0;
}
E' giusta la prima o la seconda forma (o nessuna delle due)? Perchč?
Grazie per il vostro feedback,
Bye,
Sebastiano

 E' giusta la prima o la seconda forma (o nessuna delle due)? Perchč?


     y.push_back(4);
e non si utilizza cosě ma cosě:
y -> push_back(4);
EMG

Newsgroup: it.comp.lang.c++
Titolo: C++ di GNU 2.95

Sono usciti da pochi giorni i nuovi compilatori di GNU 2.95.
Il progetto EGCS e` stato chiuso ed e` riconfluito in GCC che ora
significa Gnu Compiler Collection. Oltre ai classici compilatori
C, C++ (che ora supporta pienamente i namespaces), ObjectiveC e
Fortran77, e` presente un interessantissimo compilatore nativo
Java (gcj) in grado di produrre sia bytecode che codice macchina.
Inoltre e` stato rilasciato da poco un nuovo snapshot della
libreria standard.
Contestualmente alla versione per sistemi Unix, Mumit Khan
ha rilasciato il porting per piattaforma MS Windows.
Maggiori info : 
http://www.egcs.cygnus.com/
-- 
Roberto Gerola
Email: 
robert...@penguinpowered.com
WWW: 
http://www.penguinpowered.com/~The_Cpp_Compass

 Sono usciti da pochi giorni i nuovi compilatori di GNU 2.95.
Non e' esatto; la versione corrente e' la 2.95.1 (notare il .1) .
-- 
Maurizio Loreti                      
http://wwwcdf.pd.infn.it/~loreti/mlo.html
Un. of Padova, Dept. of Physics - Padova, Italy          
lor...@padova.infn.it
Newsgroup: it.comp.lang.c++
Titolo: extern "C" ma come???

Ciao!
Allora avrei un problemino.....
Stò cercando di creare una classe in C++ per l'utilizzo del winsock e, per
gestirlo asincronamente ho bisogno di una window procedure (gli eventi del
winsock arrivano come messaggi alla window), ovviamente deve essere interna
e privata alla classe....come si fà????
Infatti il Visual C++ 6 di Microsoft nella riga 2 del codice seguente dà un
errore(cioè la mia funzione è diversa è chiamta come membra di classe con un
metodo c++ e non c infatti lui la vorrebbe così:
(long (__stdcall *)(struct HWND__ *,unsigned int,unsigned int,long))):
class pippo
{
  private:
    LRESULT SckWinProc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam);
};
1    WNDCLASSEX    SckWin;
2    SckWin.lpfnWndProc   = SckWinProc;
......mi hanno detto che per utilizzare la chiamata in C dal C++ si usa
extern "C" ma non ci riesco.....proprio....AIIIIUUUTOOO!!
Grazie per l'aiuto....z4c

e privata alla classe....come si fà????
Una funzione di callback non puo` essere in generale un metodo di una
classe, devi utilizzare una normale funzione che faccia da wrapper
al metodo.
Cmq qui sei OT, posta su it.comp.programmare.win32.
Paolo
p.s.
  x-post e folowup su it.comp.programmare.win32.

Newsgroup: it.comp.lang.c++
Titolo: Nuovo Arrivato C++

Perche' non riesco a compilare
i tutorial di directdraw DCEX1
in Visual C++ 5.0 ma solo a far funzionare
il gia' presente file exe ?

che tipo di errore ti da??
Lodusoft ha scritto nel messaggio <01bbf708$d17f4ac0$e249cfc1@berengo>...











Newsgroup: it.comp.lang.c++
Titolo: libro

Cosa ne pensate del libro 'Introduzione a c++' di Derek M. Capper , Ed
McGraw-Hill? Puň essere un buon testo x cominciare col c++?
Newsgroup: it.comp.lang.c++
Titolo: C++ con ASM

Sono poco esperto e avevo sentito parlare di asm all'interno di un
listato di c++ attraverso dei comandi, volevo sapere come si potesse
fare (sempre che ciò che ho sentito corrisponde a verità). E un altro
dubbio che mi sorge è come si può leggere i registri della CPU...
TNK

 wrote in message
38F8C053...@freemail.it...

Per inserire un comando in asm ad esempio
    mov     ax, 07FFFH
devi scrivere
asm("mov ax, 07FFFH");
Ogni compilatore ha poi le sue estensioni.
Saluti Manlio Perillo

fare (sempre che ciò che ho sentito corrisponde a verità).
con la keyword asm
asm {
  /* ... */
}
Paolo

Ogni compilatore ha poi le sue estensioni.
In questo caso lo standard ha introdotto la keyword asm
con la seguente sintassi:
asm {
  /* codise assembler */
}
ogni altra sintassi non e' da considerarsi standard.
Paolo

 }
Quasi...  intanto manca un punto e virgola, poi in 7.4.1 si dice:
"asm { string-literal } ;
  The meaning of an 'asm' declaration is implementation defined."
L'implementazione e' quindi del tutto libera anche di ignorare
quello che gli passi, invece che di interpretarlo come istruzioni
assembler.
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it

 Paolo
Io mi riferivo alla sintassi del compilatore GNU, pensavo seguisse lo
standard...
Manlio


...scusate intromissione
ma questa chiamata quale registri salva
butta nella pila e poi ripristina all'uscita ?
..si insomma in che passi si traduce per
il compilatore, e a cosa bisogna stare attenti
una volta che si scrive il codice ASM per
non generare anomalie nel prog. ?
====================
rimuovere BUGS dalla
  mia eMail
====================

 assembler.
...pero` deve documentare esattamente cosa fa e deve fare
sempre le cose secondo come le ha documentate.  C'e` una
differenza enorme fra "implementation defined" e "undefined".
E` ovvio che debba essere l'implementazione a definire con
precisione quale sintassi e semantica di assembler (compreso
"nessuna") supporti entro asm, visto che implementazioni diverse
possono benissimo vertere su diversi processori (compreso
"nessuno" -- implementazioni a bytecode ecc ecc).
Alex

 non generare anomalie nel prog. ?
Esaminare MOLTO accuratamente il codice assembler
generato dal compilatore stesso, e ricordarsi di
rifare questo esame ad ogni nuovo release del
compilatore, perche` se no le cose possono cambiare
e rompersi.
Alex

 sempre le cose secondo come le ha documentate.
Non ho mai sostenuto il contrario.


 Non ho mai sostenuto il contrario.
Ne` io ho sostenuto che tu abbia sostenuto il contrario (se vuoi,
puoi ora a tuo turno sostenere che non hai sostenuto che io abbia
sostenuto...).
Pensavo solo che fosse importante (per molti lettori, non per
te o me in particolare) chiarire un attimo la cruciale differenza
fra "undefined" e "implementation-defined", visto che a molti
(nella mia esperienza) pare essere profondamente oscura.
Alex
Newsgroup: it.comp.lang.c++
Titolo: Problema con 'this'

Salve,
Devo chiamare una funzione in questo modo:
Form1->Chart1->AddSeries(new TLineSeries(this));
per creare un oggetto.
Il problema č che se eseguo questa operazione nella funzione della pressione
di un pulsante mi funziona tutto...
Io perņ vorrei inserirlo in una funzione esterna che chiamo quando premo un
pulsante.
Mi sapreste dire come dovrei chiamarla?
Il compilatore mi dą questo errore... :
'this' can be only be used within a member function
(Compilo con Borland Builder 6)
Penso che non riesce a vedere l'oggetto padre poi non lo sņ :(
Chi mi sa aiutare?
Grazie
xoooox
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 Penso che non riesce a vedere l'oggetto padre poi non lo sò :(
"this" è un puntatore implicito all'oggetto che ha operato la chiamata alla
funzione membro della classe.
Pertanto è visibile ed utilizzabile solo all'interno di funzioni membro, che
poi è quanto il compilatore sta facendo notare.
La riga di codice che hai riportato è per certo all'interno di una funzione
NON membro, quindi al posto di 'this' devi mettere un puntatore all'oggetto
già instanziato da qualche altra parte del codice, di cui dovresti
necessariamente conoscere il nome, se hai operato correttamente l'instanza
dello stesso.
Buon lavoro,
FabioMDF


Newsgroup: it.comp.lang.c++
Titolo: info linguaggio c++

Scusate, io vorrei impararmi il lingiaggio C++, mi consigliate qualche guida
per stufiarloe qualche programma.
Grazzie

 ha scritto nel messaggio
news:9b2jbe$4fb$1...@serv1.albacom.net...

Newsgroup: it.comp.lang.c++
Titolo: compilatore D

Stavo dando un occhiata a C/C++ User Journal e mi sono imbattuto sul
linguaggio D. Trovate notizie su 
http://www.digitalmars.com/d/
Non dico che abbandonero' il C++, pero' alla prima occhiata da 5
minuti mi sembra interessante.
Ciao a tutti
-- 
Li mortacci a Lycos che ha censurato il sito Papero 1
Per ora il sito Papero 2 è: 
http://user.7host.com/papero/
Un giorno il sito Papero 3 sarà: 
http://members.xoom.it/davidequack

 Ciao a tutti
Ho solo dato un'occhiata veloce ma... non c'e' un po' troppa roba? Il 
C++ e' molto interessante perche' comunque le performance sono un punto 
tenuto fortemente in considerazione. Ora, solo aggiungere chiusure 
dinamiche, funzioni innestate, ecc... ricordo le lezioni di Paradigmi di 
programmazione, e l'implementazione di queste feature chiede un runtime 
che spacca... :P
-- 
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

che spacca... :P
Non vedo dove stia il problema. Infondo gia' adesso si usa il run-time
del C e del C++. Se uno vuole prestazioni certe e riproducibili non si
mette ad usare la GC. Il fatto che ci siano queste feature alla fine
potrebbe essere solo un problema di linker nel caso di link statico.
Ci sono molti casi in cui la semplicita' di sviluppo sarebbe
auspicabile, anche a scapito di una certa "pesantezza" del run-time.
++++
Tanto se devi fare il software di gestione di una centralina
elettronica al massimo usi il C perche' il compilatore in C++ non
esiste!!
