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

Ciao
Ho bisogno di un piccolo aiuto, dovrei costruirmi un vettore di caratteri(
un astringa)di questo tipo:
int    float    float    float
"1" "\t" "1.256854" "\t" " 4.2516" "\t" "2.3564"    (esempio del risultato)
Ora mi spiego, ho 4 variabili 1 int e 3  float vorrei inserirli tutti in una
stringa ,spaziati solo dalla tabulazione.
C'è qualche funzione che converte int e float in stringhe?
Vi ringrazio
 Luca

 ha scritto nel messaggio
news:pmcF7.13402$sq5.6...@news.infostrada.it...


 ha scritto nel messaggio
news:pmcF7.13402$sq5.6...@news.infostrada.it...


 ha scritto nel messaggio
news:34dF7.13703$sq5.6...@news.infostrada.it...


ma se non avevo il borland??
#include <string>
#include <cstdio>
#include <iostream>
using namespace std;
int main()
{
  int a=1;
  float b=1.256854, c=4.2516, d=2.3564;
  char buf[1000];
  sprintf( buf, "%d \t%.6f \t%.4f \t%.4f", a, b, c, d );
  string st(buf);
  cout<<st<<endl;
}

C'è qualche funzione che converte int e float in stringhe?
#include<sstream>
#include<string>
float z=213.44;
std::ostringstream o1;
o1<<z;
std::string z_str=o1.str();
Il Ghenio
-----
These are my parting words to you:
those who give up are doomed!
-----

int digits);
Peccato che non sia standard (e quindi OT).
-- 
                    Marco Barisione (ICQ 84277092)
Se sei interessato alla creazione di it.comp.lang (per i linguaggi di
programmazione senza un gruppo apposito e per i confronti fra i
linguaggi) partecipa alla discussione sul manifesto su it.news.gruppi.

luca wrote:

#include <sstream>
#include <string>
void foo() {
  std::ostringstream ss;
  ss << 12 << "\t" << 1.464;
  std::string my_string = ss.str();
}
ciao Anto
-- 
Antonio Cuni, 19 anni, studente
Brainbench C++ Master: 4.6, higher than 98% of all previous test takers.
C Language: 3.32, higher than 79% of all previous test takers.
Guida C/C++ di Programmazione.it: 
http://cpp.programmazione.it

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

 Luca
Hai notato come tutti qui hanno la pessima idea
di rispondere "sotto" ai mess invece che "sopra" ?
OPS... 
l'ho appena fatto anche io   :-)
Ciao
Gaetano.
-- 
Posted from 
nts-03.mm.eutelsat.org
 [194.214.173.15] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Newsgroup: it.comp.lang.c++
Titolo: Altro errore

Ringrazio coloro che mi hanno risposto al precedente messaggio
l'aiuto e' stato prezioso!
Sono riuscito ad ordinare una lista e tutto funziona in fase di
compilazione
All'esecuzione, quando la funzione di ordinamento ritorna il controllo a
main() mi arriva in output questo msg:
Segmentation fault (core dumped)
e ritorna il prompt........
cosa vuol dire?


vuol dire che il tuo programma ha provato a scrivere (o forse a leggere)
su un segmento di memoria che non gli appartiene... e' l'indizio di un
errore piuttosto serio. 
Alcuni esempi:
leggere o scrivere da puntatori nulli
scrivere su elementi di array "out of boundary"
Nel tuo caso, la funzione di ordinamento e' la principale candidata ad
avere sovrascritto su aree di memoria non sue.
Naturalmente, per saperne di piu' occorre esaminare il codice: il nome
dell'errore e' estremamente generico!
 
Guido Gagliardi
INFN and University of Genoa
address at Genoa: Via Dodecaneso 33 Genoa Italy
tel at Genoa: +39 10 3536453

Segmentation fault (core dumped)
E` probabile (anzi di sicuro) che il programma tenti di usare un
puntatore non valido.
Paolo
--------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
--------------------------------------------------
Newsgroup: it.comp.lang.c++
Titolo: [?] C++ Builder 3 - TUpdateSQL

Sto facendo degli esperimenti col BC++B3, e mi sono arenato con un
semplicissimo problema.
Premetto che devo fare tutto da codice ( quindi nessun oggetto nelle
forms! ) e che come database sto usando access, ma dovro` migrare a SQL
Server o simile.
In pratica creo un oggetto TQuery ed eseguo la query che mi torna i dati
richiesti. Fin qui tutto ok.
Ho impostato la proprieta` RequestLive = false in modo da simulare di avere
un server di database.
Creo quindi un oggetto TUpdateSQL, e lo "aggancio" al TQuery.
Ed ecco la domanda: per modificare il set dei dati, come devo fare ????
Qualcuno ha un frammento di codice come esempio ?
Un grazie anticipato a chi puo` rispondermi.
--
__AC__
============================
Sorry: E-Mail address not available!
============================

, 
noad...@tin.it
 says...
Il funzionamento di TUpdateSQL e' ampiamente documentato in un numero di 
DEV del 1999...non ricordo quale pero'...

-- 
universe::earth::internet::albion->Greetz++;
 
darX...@tin.it
 
alb...@libero.it
  Fido 2:335/234.21   
http://darxstar.cjb.net
  ICQ UIN# 11151997 - eggdrop on demand
<the trees that whisper in the evening...>

Newsgroup: it.comp.lang.c++
Titolo: [HELP] Lettura da file

Dato il seguente listato
_________________________________________________________
#include <iostream.h>
#include <fstream.h>
int main()
{
	ifstream file("prova.txt");
	int counter=0;
 
	//raggiunge la fine del file
	while(file.get() != EOF);
	//riporta il puntatore all'inizio - NON FUNZIONA
	file.seekg(0, ios::beg);
	//legge nuovamente i caratteri
	while(file.get() != EOF) counter++;
	cout << "Counter: " << counter << endl;
	return 0;
}
_________________________________________________
Perchè mi viene stampato sempre il valore 0?
In pratica, se raggiungo la fine del file nella prima lettura non
posso utilizzare seekg per tornare ad una posizione precedente. Se
invece non raggiungo la fine del file funziona tutto correttamente.
Il compilatore è Microsoft Visual C++ 5.0 (Win32 Console Application)
_____________________________________________________
Francesco Trotta
http://space.tin.it/computer/ftrotta
elimina "x_" dal mio indirizzo per le risposte

         file.seekg(0, ios::beg);
EMG
Newsgroup: it.comp.lang.c++
Titolo: Aiuto: compilatore egcs

Ho da poco scaricato il compilatore egcs, tuttavia nel tentativo di
compilare qualsiasi codice che includa librerie standard viene visualizzato
un messaggio di errore che afferma di non poter trovare il file da
includere.
Ho tentato a localizzare la directory ove gli header file sono posizionati,
quindi ho forzato il compilatore a cercarvi i file tramite l'opzione -I. In
queste condizioni un nuovo messaggio segnala che non è ora possibile trovare
altri file(probabilmente chiamati dalla libreria). Non dovrebbe esserci una
directory di sistema già impostata di default ove g++ dovrebbe cercare?
Purtroppo l'unico file di aiuto dice solamente di sostituire (all'interno di
un file batch da lanciare prima del compilatore per settare le varibili di
ambiente), il nome della directory c:\egcs-mingw32 con quella nella quale si
è installato il programma. Detto fatto, ora però non so che pesci pigliare.
Io ho effettuato il download dal sito:
http://www.li.facens.br/EGCS-WIN32/english/index.html
Grazie a chiunque possa aiutarmi.
Marco
P.S.: potete eventualmente indicarmi ove scaricare un altro compilatore per
dos che sia compatibile con lo standard ANSI C++.
Grazie.

Grazie.
De nada.
-- 
Roberto Gerola
Email: 
robert...@penguinpowered.com
WWW: 
http://www.penguinpowered.com/~The_Cpp_Compass

 dos che sia compatibile con lo standard ANSI C++.
Prendi il DJGPP all'indirizzo 
http://www.delorie.com/djgpp/
. Tieni
comunque presente che la sua compatibilità con lo standard ANSI/ISO è
buona ma non perfetta.
EMG

 Grazie.
Ciao, U D A.
-- 
<><><><><><><><><><><><><><><><><><><><><><><><
UDA'Software
mailto:
u...@freemail.it
mailto:
uda.so...@iol.it
http://www.GeoCities.com/SiliconValley/Bay/2165

 che produce sia bytecode che codice macchina: gcj.
                                                ^^^
Interessante! E' gia' una versione usabile o e' ancora un progetto in
fase embrionale?
Ciao,
-- 
Diego    | Per le repliche elimina dal mio indirizzo le 
Dainese  | `x' e inverti le due parole intorno alla `@'

Newsgroup: it.comp.lang.c++
Titolo: BCB4 TTimer non mi pare molto preciso....

Ho creato un applicazione che fa scorrere un pallino lungo un TImage,
all'evento OnTimer.
Se imposto il tempo totale a 10 secondi il tempo che impiega e circa
12....ossia perde sempre qualche secondo per strada!
Perche?
-----------------------------------------
La vita e' l'opera di un regista mediocre
e di un cattivo sceneggiatore

scusate, volevo postare in ~win32


 Perche?
Il TTimer non si propone di essere un timer molto preciso. Se tu facessi
una prova
ad allocare un timer e poi ad effettuare una applicazione CPU killer
all'interno dello stesso programma, il timer non scatterebbe mai!
Serve solo ad effettuare delle operazioni a scadenza fissa, ma senza
alcuna pretesa di precisione. In pratica l'evento OnTimer può essere
chiamato solo mentre la Application è idle.
Per ottenere una maggiore precisione dovresti allocare un thread ad alta
priorità (tpTimeCritical).
Ciao,
Marcello.

 priorità (tpTimeCritical).
O meglio ancora un timer multimediale che è molto più accurato.
Bye, Luigi
www.luigibianchi.com
Newsgroup: it.comp.lang.c++
Titolo: Corso C++ in rete, dove ?

C'e' qualcuno che ne conosce di corsi C++ sulla rete ?
Saluti!

Roberto Cuzzani (
gan...@iperbole.bologna.it
) wrote:
: C'e' qualcuno che ne conosce di corsi C++ sulla rete ?
: Saluti!
http://www.nsm.it/mondobit/rubriche/cpp/index.htm
Non e` ancora completo, viene aggiunto un nuovo pezzo ogni
15 giorni circa.
Saluti,
Paolo

Newsgroup: it.comp.lang.c++
Titolo: problema con cygwin

Sto cercando di compilare un'applicazione scritta sotto Fedora su cygwin per
winNT.
Il problema è questo. Quando lancio configure.... alla fine ottengo questo
tipo di errore:
checking for pow... no
checking for rint... no
checking for sqrt... no
checking for strchr... no
checking for strstr... no
configure: creating ./config.status
.infig.status: error: cannot find input file: Makefile
Potete darmi una mano ? Qualcuno ha già riscontrato questo problema ?
Grazie,
Valentina


No, ma evidentemente non ha niente a che fare col C++.
Ciao,
Nicola

Newsgroup: it.comp.lang.c++
Titolo: CreateWindow Richedit senza MFC

Intanto un saluto a tutti.
Sto cercando di capirci qualcosa.
Vorrei chiedere 'a qualche anima buona' informazioni al riguardo.
In una semplice applicazione single instance vorrei inserire tramite la
CreateWindow, come child, una finestra di tipo RichEdit.
E' necessario usare ClassWizard ?
...e se no come devo fare ?
Ho 'incluso' l'header richedit.h prelevao dal direttorio ..\include del
VC++ 4.0, ma in fase di link mi tornano errori di unresolved external
_BeginThread  e _EndThread (non sono certo della sintassi degli errori, ma
il costrutto è corretto).
Se tu, Angelo Salvatore, passi da queste parti, please Help Me !!
-- 
Felloni Roberto
fel...@3di.it
3D Informatica Srl
S.Lazzaro di Savena (Bologna) - Italy

il costrutto è corretto).
se mancano _BeginThread e _EndThread e' perche' non usi le librerie
multithreding: "Project" -> "Settings" -> "C/C++" -> Category: "Code
Generation" in "use runtime library" seleziona "Multithreaded DLL" o
"Multithreaded".
Gianpaolo Bottin
- Live Long and Prosper -
Newsgroup: it.comp.lang.c++
Titolo: link gcc

Scusate potreste, gentelmente, postarmi il link del gcc ultima versione

 ha scritto nel messaggio
news:2Vow6.7877$HF3.3...@news.infostrada.it...


Visto che dici a tutti che sono OT, perche gli hai risposto?
Non è il ng per C++ standard? Che c'entra il Gcc?
Se tu sei il primo a rispondere , non prendertela con gli altri che
chiedono, 
leggi il post precedente e dimmi un po :-)


Invece che far polemica potresti aiutarci ad arginare gli OT.
Ciao,
Nicola

Nicola
Ho risposto gia, nel post precedente :-)))))))))
xchè qualcuno non si prende la briga di postare le FAQ più spesso?
(soprattutto qui)
tipo 2 3 volte a settimana per un po di tempo.... 
se anche così ci sono degli OT allora l'unica soluzione sono le
maniere forti.
Il titolo per le FAQ potrrebbe essere qualcosa del tipo
SE CHIEDI AIUTO PER COMPILATORI PRIMA DI SCRIVERE LEGGI
---
"Apaella" Antonello Pasella 
a.pa...@studenti.to.it
Studente di Ing.Informatica al IV anno
svolgo attualmente attività di formazione professionale
Home page non ancora attivata...

Newsgroup: it.comp.lang.c++
Titolo: Copia tra file binari

Ciao a tutti,
non riesco a capire l'ouput di questo programma:
#include <fstream>
using namespace std;
ifstream infile ("/home/luigi/luigi.txt", ios::in  | ios::binary);
ofstream outfile ("/home/luigi/copia.txt", ios::out | ios::binary);
int main () {
        outfile << infile;
        infile.close();
        outfile.close();
        return 0;
}
Il contenuto di luigi.txt č:
ciao sono Luigi
tu chi sei??
Un amico ciao.
---
Mentre copia.txt diventa:
0xffffffff
che significa?
Grazie
-- 
Luigi
--
bug windows [5] = {"95", "98", "NT", "Me", "2000"};

 che significa?
significa che hai un problema aprendo il file

 significa che hai un problema aprendo il file
E come posso risolverlo?
Se non lo apro in modalità binaria non da errore, però copia in modo 
diverso dall'originale


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

Salve,
ho un paio di quesiti da porvi. Qui di seguito vi posto il codice in
questione:
---
#include <iostream.h>
void incrementa(int * var)
{
  *var++;
}
int main()
{
  int x = 10;
  incrementa(&x);
  cout << x;
  return 0;
}
---
1: Perchè il valore della variabile x non viene incrementato mentre se al
posto della
    notazione a puntatori utilizzo una variabile indirizzo tutto funziona?
2: visto che il prototipo della funzione incrementa funge anche
   da definizione, questa funzione è da considerarsi inline oppure questa
regola
   è valida soltanto se "incrementa" è una funzione membro di una classe o
di una
   struttura?
Grazie in anticipo.

    struttura?
Se la _definizione_ e' interna alla classe, il default e' inline.
-- 
Maurizio Loreti                      
http://wwwcdf.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it
Newsgroup: it.comp.lang.c++
Titolo: static_cast da stringa ad intero...

Salve al NG,
mi sono imbattuto in un problema che pensavo essere di semplice soluzione, 
ma che si sta rilevando piu' rognoso del previsto. Supponiamo che io abbia 
una stringa (rappresentata da un puntatore a un char) a cui abbia assegnato 
il valore "333". 
Non riesco a capire come convertire il tipo di dato char * in un intero. 
Convertire un intero in una stringa e' semplice, basta usare uno 
static_cast. Ma il contrario non e' permesso dal compilatore. Vorrei 
capire:
- Quali sono le regole alla base della conversione di un tipo di dato ad un 
altro usando l'operatore static_cast?
- Esiste una funzione che effettua la conversione di una stringa (numerica 
ovviamente) in un intero?
TIA
Saluti
-- 
La speranza e' l'ultima a morire. Ma muore.

 static_cast. 
Uh!? Ehm, no, guarda, ti stai confondendo.
Se vuoi scrivere in un array di caratteri la rappresentazione decimale di
un intero (è questo che intendi, no?), devi usare stringstream o
sprintf().
Max

 sprintf().
Si', scusa, lo static_cast (sembrava) riuscito perche' ho convertito in 
intero ad una cifra in un tipo char. Ma vedo che anche cosi' con g++ non 
funge. Evidentemente dovevo essere un po' fuori o e' stato un caso...
Ti ringrazio, approfondiro' i dettagli riguardanti stringstream. 
Un saluto.

Newsgroup: it.comp.lang.c++
Titolo: GetApp() e Custom Interface

Ho un programma Windows che chiama tramite Custom Interface un servizio COM
di una DLL
La DLL chiama, sempre tramite custom interface, un servizio COM del
programma Windows.
Il codice è tipo:
  Interface* pInterface = NULL;
  Object.QueryInterface(&pInterface);
  if (pInterface) pInterface->Method;
Mi aspettavo, trattandosi di una interfaccia che scavalca l'interfaccia COM,
che il WinApp rimanesse sempre lo stesso, invece, misteriosamente, almeno
per me, cambia quando chiamo la DLL, ma resta quello della DLL quando
richiamo il programma.
In pratica ho:
Nel programma: AfxGetApp() torna "class CWinApp" (quella del programma)
Nella DLL chiamata dal programma: AfxGetApp() torna "class CHSApp" (quella
della DLL)
Nel programma chiamato dalla DLL: AfxGetApp() torna "class CHSApp" (quella
della DLL)
Perchè il primo richiamo cambia l'applicazione ed il secondo no?
Grazie,
Marco

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

 Nicola Musatti
Prego,
Marco

Newsgroup: it.comp.lang.c++
Titolo: Plot di funzione

Qualcuno saprebbe dirmi se esiste una libreria nella
StandardTemplateLibrary che fa grafici di funzione?
Altrimenti Visual C++ ne comprende qualcuna funzionale?
Grazie in anticipo.

 Altrimenti Visual C++ ne comprende qualcuna funzionale?
Per disegnare un grafico di funzione servono due cose:
* Un valutatore di funzioni.
* Una libreria di grafica.
La libreria standard del C++ non comprende nessuna delle due cose, e 
suppongo che non le comprendera' per almeno dieci anni.
Per quanto riguarda il Visual C++, devi rivolgerti a un newsgroup 
specifico di tale ambiente. Comunque mi pare che l'ambiente Visual C++ 
contiene una libreria di grafica ma non contiene un valutatore di funzioni.
Ma perche' non usi un programma esterno invocato dalla tua applicazione, 
come GnuPlot?
-- 
     Carlo Milanesi
 
http://digilander.libero.it/carlmila
Newsgroup: it.comp.lang.c++
Titolo: Re: qt o gtkmm

 sei ot. chiedi su it.comp.os.linux.iniziare
meglio:
it.comp.os.linux.development
-- 
Andrea Corradi | Debian User | 
www.debian.org
Fingerprint: A41E F6B0 DBDB F04C 4940 E411 30F3 CD62 57B1 8458
gpg --keyserver 
keyserver.linux.it
 --recv-key 57B18458
Please avoid sending me Word or PowerPoint attachments.
http://www.gnu.org/philosophy/no-word-attachments.html

 it.comp.os.linux.development
giusto. lapsus mio.
-- 
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.

Ciao dovendo migrare da Java a C++ qualcuno ha provato qualche
framework completo come
qt o gtkmm e sa consigliarmi quale dei 2 conviene scegliere?
Thanks



sei ot. chiedi su it.comp.os.linux.iniziare
-- 
-rik0
Newsgroup: it.comp.lang.c++
Titolo: Puntatore o non Puntatore?!

Un CIAO a tutti del NG!
Sono Paolo ed ho un piccolo problemino:
io scrivo in un linguaggio LIKE C, cioe' scrivo e poi mi viene "trasformato"
in C;
io ho una funzione:
int xxrdasc(char *name,long byte, char *buf, int len)
Cosi' e' come la richiamo in maniera corretta:
system "N_OK=xxrdasc(\"RC.DAT\",N_POSIZ, X_TFILE, 6);"
(RC.DAT e' il nome di un file)
Cosi' e' come la richiamo in maniera errata:
system "N_OK=xxrdasc( (char *) X_FILE,N_POSIZ, X_TFILE, 6);"
(dove X_FILE contiene il nome del mio file)
PERCHE' nel secondo modo NON va?!
(mi "dice" che non ha trovato il file)
Grazie mille
Paolo

 (dove X_FILE contiene il nome del mio file)
Prova (const char*) X_FILE
ciao
--
Luigi

Newsgroup: it.comp.lang.c++
Titolo: [Forse OT] Problemi con DirectDraw...

Salve a tutti!!!
Sto realizzando un piccolo motore 3d software con DirectDraw. Tutto
sembrerebbe funzionare correttamente a qualsiasi risoluzione
purche' a 16bpp.
Provando a impostare profondita' di 24 o 32 bpp, setto tranqullamente il
livello di cooperazione, inizializzo la modalita', ma
quando creo la superfice primaria, ottengo un bellissimo errore: non sembro
avere accesso in modalita' esclusiva allo schermo.
Ma cactus, se l'ho impostato prima e a 16bpp andava bene!!!
Allego il codice qui di seguito... vi prego, AIUTATEMI!!!
if(pDirectDraw4->SetCooperativeLevel(Handle, DDSCL_FULLSCREEN |
DDSCL_EXCLUSIVE) != DD_OK) return(-1);
if(pDirectDraw4->SetDisplayMode(ModeVideo->HorizontalResolution,
ModeVideo->VerticalResolution, ModeVideo->BitPerPixel, 0, 0) != DD_OK)
return(-1);
DDSURFACEDESC2 DirectDrawSurfaceDesc2;
ZeroMemory(&DirectDrawSurfaceDesc2, sizeof(DirectDrawSurfaceDesc2));
DirectDrawSurfaceDesc2.dwSize = sizeof(DirectDrawSurfaceDesc2);
DirectDrawSurfaceDesc2.dwFlags = DDSD_CAPS | DDSD_BACKBUFFERCOUNT;
DirectDrawSurfaceDesc2.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE |
DDSCAPS_FLIP | DDSCAPS_COMPLEX;
DirectDrawSurfaceDesc2.dwBackBufferCount = 1;
if(pDirectDraw4->CreateSurface(&DirectDrawSurfaceDesc2,
&pDirectDrawSurface4Primary, NULL) != DD_OK)
{
            ESCE!!!!!!!!!
}
Ma peeeercheeeee???
Grazie in anticipo...
--
Claudio "Sta'ja Ame" Pozzoli

purche' a 16bpp.
Posta le domande relative al Win32 su it.comp.programmare.win32 e lì ti
verrà risposto. Qui sei molto OT.
Ciao, Giuseppe
---------------------------------------------------------------------------
_Guybrush su IRCNet canale #programmazione
ICQ: 42227764
---------------------------------------------------------------------------
Newsgroup: it.comp.lang.c++
Titolo: BORLAND C++ BUILDER 3 PROBLEMI

Installato su diverse macchine (95 - NT) mi da un problema nel linking
tee35.
[LinkerError] Error processing module
G:\PROGRAMMI\BORLAND\CBUILDER3\LIB\TEE35.BPI.
cosa puo essere?? non sono ancora riuscito ad usarlo!!!!
mi sapete dire dove posso trovarne una versione funzionante???
grazie a tutti!

>mi sapete dire dove posso trovarne una versione funzionante???
Se quella che hai e' originale, funziona, stai tranquillo!
--
Byez
Stefano Tempesta
temp...@tin.it
http://tempesta.freeweb.org

 cosa puo essere?? non sono ancora riuscito ad usarlo!!!!
Non saprei, si direbbe che il file sia corrotto. Se vuoi posso mandarti una
copia del mio per email.
Ciao
Paolo

Newsgroup: it.comp.lang.c++
Titolo: Derivazione e costruttori

Ciao a tutti,
se ho
class A
{
public:
         A(int);
         A(int,int);
};
per derivare la classe A in modo da utilizzare i costruttori di A io
faccio come segue:
class B: public A
{
public:
       B(int a) : A(a){}
      B(int a,int b): A(a,b){}
};
esiste un metodo più rapido che mi permetta automaticamente di
derivare una classe ed avere automaticamente inclusi tutti i suoi
costruttori?

Robbo ha scritto:

No, non ora.
Mi sembra di ricordare che sara' possibile col nuovo imminente standard, 
ma non ricordo i dettagli.
  bye
	av.



Robbo ha scritto:

Mi sembra di aver gia' visto questa domanda e anche la sua risposta.
Comunque la domanda e' posta male, in quanto i costruttori in realta' 
non vengono mai ereditati (o inclusi).
Non per niente il nome del costruttore coincide con il nome della 
classe. Se la classe B deriva dalla classe A, i costruttori della classe 
A non possono diventare costruttori della classe B perche' i primi si 
chiamano tutti A e i secondi tutti B.
Quello che si puo' fare e' non definire il default constructor e il copy 
constructor di B, in quanto in tal caso essi vengono implicitamente 
definiti, e implicitamente richiamano rispettivamente il default 
constructor e il copy constructor di A.
-- 
     Carlo Milanesi
 
http://digilander.libero.it/carlmila
Newsgroup: it.comp.lang.c++
Titolo: Operatori di conversione

Lippmann dice che, nel caso in una classe A ci sia un costruttore che
accetta un parametro della classe B, ed in questa ci sia un operatore di
conversione a classe A, c'è ambiguità quando si assegna un oggetto della
classe B ad uno della classe A.
Ho fatto delle prove col mingw32 (derivato dal gcc), e dichiaro il
costruttore come A( B& ); e l'operatore di conversione come operator A().
Se però faccio accettare un riferimento const al costruttore di A, vengono
emessi dei warning, in cui si dice che viene scelto l'op di conversione di
B, perchè la sequenza di conversioni è meglio. E' una libertà del gcc dallo
standard? Quale sequenza dovrebbe avvenire?
Se invece lascio const al costruttore, ma dichiaro l'operatore di
conversione come A&(), viene compilato tutto correttamente, ed è usato
l'operatore di conversione.
A proposito, ho notato che dichiarando l'operatore come A&() posso chiamare
sull'oggetto originario metodi di A, mentre dichiarandolo come A(), non
posso. E' solo questa la differenza?
Se lascio const al costruttore e dichiaro un operatore const A(), mi dice
sempre che sceglie l'operatore, mentre se lo dichiaro come const B&(9, come
prima, compila correttamente, ed usa l'operatore.
E già fin qui c'è un megacasino.
Inoltre, ridichiarando tutto nel primo modo (l'unico in cui viene segnalato
un errore per ambiguità), se eseguo un cast, non viene segnalata
l'ambiguità, ed è scelto il costruttore...
Alla fine, penso che il gcc non sia conforme allo standard, e che secondo lo
standard l'ambiguità dovrebbe essere segnalata indipendentemente dal fatto
che vengono accettati oggetti cosnt o meno col costruttore, ed anche facendo
il cast. Se il costruttore è explicit, comunque, viene scelto l'operatore,
ma in caso di cast esplicito, comunque c'è ambiguità, no? L'unico modo è
chiamare direttamente l'operatore di conversione, no?
Comunque, la differenza tra un operatore di conversione normale ed uno & è
solo quella che ho citato prima, no?
Grazie.
--
Marco Iannaccone
marc...@tin.it
ICQ UIN: 18748121     MetalCoder
"This is a new ship, boy, but she's got the right name.
You treat her like a lady, and she'll always bring you home."
    Dr. Leonard H. McCoy to Data - Encounter at Farpoint - Star Trek TNG

 Ho fatto delle prove col mingw32 (derivato dal gcc), e dichiaro il
hehe...
compiler mingw32 : public gcc
{
    // ... ?
};
:-P
cristal

Eh, comunque, in pratica, è come ho detto io alla fine? C'è comunque
l'ambiguità? Indipendentemente dal fatto che il costruttore accetti un
riferimento const o jmeno, e da come è effettuata la conversione nell'altra
classe?
E per quanto riguarda un operatore di conversione "normale" e &?

Newsgroup: it.comp.lang.c++
Titolo: Funzione template

Il seguente breve programma tratto da C++ Primer di Lippman
non compila sul Borland Builder 3 riportando il seguente errore:
[C++Error] Project1.cpp(18): Could not find a match for 'min(int *)'.
#pragma hdrstop
#include <condefs.h>
 int ai[4] = { 12,8,73,45 } ;
 template <class T,int size>
 T min(T(&r_array)[size])
{
 T min_val = r_array[0]
 for ( int i = 0 ; i < size ; ++i ) {
      if (  r_array[i]  < min_val ) min_val = r_array[i] ;
      }
 return min_val ;
}
//---------------------------------------------------------------------------
#pragma argsused
 int main(int argc, char **argv)
{
 min(ai) ;
 return 0;
}
 Il programma non riesce ad instanziare correttamente la funzione min
in quanto non trova una corrispondeza fra i tipi .
E' una lacuna del compilatore ?
grazie



Newsgroup: it.comp.lang.c++
Titolo: dubbio sui namespace

Ho provato il seguente codice:
#include <iostream>
namespace impl
{
  struct foo
  {
    int a, b;
    foo(int aa, int bb)
    : a(aa), b(bb) {  }
  };
  std::istream& operator<<(std::istream& is, foo& f)
  {
    int a, b;
    is >> a >> b;
    if(is) f = foo(a, b);
    return is;
  }
  bool operator==(const foo& sx, const foo& dx)
  {
     return sx.a == dx.a && dx.a == dx.b;
  }
}
int main()
{
  impl::foo f1(1, 2), f2(1, 3);
  std::cout << (f1 == f2) << '\n';
  std::cin >> f1;
}
E con il BCC 5.5 ottengo:
Error E2094: 'operator>>' not implemented in type 'std::istream'
for arguments of type 'impl::foo' in function main()
E' normale oppure è un bug del BCC 5.5?
Il mio dubbio nasce dal fatto che per operator== non si fa problemi.
Come dovrebbero andare le cose?
Grazie  Manlio Perillo

     is >> a >> b;
         ^    ^
         ?    ?
Ciao,
Nicola
P.S. Circa i tuoi scambi su c.l.c++.m: "io" in inglese si scrive "I",
non "J"...

 non "J"...
Hai ragione anche qui.
P.S  però l'avevo detto "scusate per il mio inglese"
Ciao e grazie  Manlio Perillo

 wrote in message 8nubg1$2db$1...@nslave2.tin.it...
Ecco il codice che volevo postare e che corrisponde al problema che ho in
un mio programma.
#include <iostream>
#include <utility>
namespace impl
{
  typedef std::pair<double, int> paio;
  inline std::istream& operator>>(std::istream& is, paio& f)
  {
    double a;
    int b;
    is >> a >> b;
    if(is) f = std::make_pair(a, b);
    return is;
  }
}
int main()
{
  impl::paio p;
  std::cin >> p;
}
Il programma compila solo se scrivo using namespace impl prima di usare l'estrattore.
Manlio Perillo

 
Se capisco bene, il problema č: come mai, se le regole di risoluzione
degli overload prevedono che la funzione venga cercata anche in ciascuno
dei namespace in cui sono dichiarati i tipi degli argomenti, l'operator>>
in questione non risulta disponibile nonostante abbia come uno degli
argomenti un impl::paio ?
Credo che un typedef non sia equiparabile alla dichiarazione di un tipo e
che pertanto, ai fini della risoluzione dell'overload, paio sia a tutti
gli effetti un std::pair<>, quindi appartenente al namespace std.
Importare impl::operator>> in std dovrebbe bastare:
 namespace std {
  using impl::operator>>;		
 }
Max
Newsgroup: it.comp.lang.c++
Titolo: Gestione dei Canvas in C++ Builder

Il C++ Builder è un eccellente RAD, non ci piove, ma in quanto a
documentazione, a volte rimango perplesso. Per esempio, ultimamente mi
sto occupando per lavoro della creazione di componenti che devono
disegnare sul canvas di una classe derivata da TImage.
Dunque, il discorso è questo: io derivo la mia bella classe da TImage,
mi creo un bel puntatore al membro Canvas della mia classe e poi inizio
a disegnarci direttamente (utilizzando sia i brush di sistema,
avviluppati dalla classe TBrush, sia i vari metodi per disegnarci delle
bitmap che prendo dai miei file di risorse).
Il problema è che non riesco a cambiare la dimensione del Canvas di
default, a meno di non definirmi una picture direttamente tra i membri
della mia classe derivata. Possibile che ci sia questa limitazione? O
sono io che non trovo nella (scarna) documentazione del C++ Builder il
metodo esatto?
Ringrazio chiunque saprà rispondermi.
Simone M. Polo
--
         ______            __  _____
        /  ___/\           _/ / __  \
       /  /__ \/__   __  ._/ / /__/ /\
       \___  \ /  | /  |\   / _____/ /
 _________/  // /||//| ||__/ /\____\/
 |__________//_/ |_/ |______/ /
 \__________\\_\/\_\/\______\/
       ===>> 
S...@IPSNET.IT
 <<===
      ===>> 
Sm...@HOTMAIL.COM
 <<===
 ==>>
http://www.gamblecity.com/Sm3P
<<==
      ----------------------------
"Ninetta mia, crepare di maggio ci vuole tanto troppo coraggio,
Ninetta bella dritto all'inferno avrei preferito andarci d'inverno."
--
Posted from [194.242.1.226]
via Mailgate.ORG Server - 
http://www.mailgate.org

 metodo esatto?
C'e` qualcosa che non torna nella tua domanda: un Canvas di per se` non ha
dimensioni, le dimensioni sono dell'oggetto a cui e` associato il Canvas, nel
tuo caso un bitmap contenuto in un componente TPicture, a sua volta contenuto in
un componente TImage.
Lo stesso Canvas e` poi restituito dalla proprieta` omonima di TImage, ma in
realta` appartiene al bitmap (se l'Image contiene un bitmap, altrimenti non e`
disponibile). E le proprieta` Width e Height le trovi anche in TPicture, ma si
riferiscono all'oggetto grafico effettivo in esso contenuto, ancora una volta,
nel tuo caso, il bitmap.
Se la tua classe deriva da TImage, *ha gia`* un membro di tipo TPicture, quindi
che significa che lo devi definire? E quale sarebbe la limitazione?
Saluti
Paolo
Newsgroup: it.comp.lang.c++
Titolo: CSocket

Qualcuno può darmi qualche informazione/dritta/esempio per utilizzare la
classe CSocket nelle mie applicazioni. Con MSDN non ho fatto gran che'
quindi se qualcuno ha altre risorse da darmi le accetto volentieri.
Grazie. Maurizio.

 wrote in message
news:7mf0br$u$1...@aquila.tiscalinet.it...

Ciao Maurizio,
la tua domanda mi sembra un po' troppo generica (e forse piu' adatta a
it.comp.programmare.win32 che non a questo ng).
Comunque io sono riuscito con le msdn ed un po' di pazienza.
Qualche esempio forse lo trovi su 
http://www.codeguru.com
Se spieghi meglio che problemi hai, cercheremo di darti una mano.
Ciao

 wrote in message news:378b2...@news.unisi.it...


>utilizzare CSocket ma non ho idea di come.
Le socket ti servono per effettuare una connessione punto punto con un'altra macchina con protocollo tcp/ip.
Ci sono funzioni per connetterti alla macchina tramite il suo nome o indirizzo ip (Connect), per spedire caratteri (Send) e ricevere caratteri (Receive). Sull'help puoi trovare tutto cio' che ti serve.
La gestione degli allegati e' abbastanza complicata perche' ci sono da fare codifiche / decodifiche.
Antonio Donatiello

Grazie della delucidazione, mi guarderò MSDN...
Avresti da consigliarmi un altra strada visto che sembra cosi complicato
gestire gli allegati.
Ciao,
Maurizio.

>gestire gli allegati.
Mi dispiace ma non so dirti se con MAPI la cosa sia piu' semplice.
Ciao
Antonio Donatiello
Newsgroup: it.comp.lang.c++
Titolo: Enumerati

Come si può impedire che al posto di un certo enumerato ne venga
accettato un altro. Il bompilatore Borland mi da solo un warning.
enum colori { rosso, verde, blu };
enum sapori { dolce, amaro, salato };
class Test 
{
//...
public:
set_enum ( sapori s ){ _sap = s; }
private:
sapori _sap;
};
int main
{
colori col = giallo;
sapori sap = dolce;
Test t;
t.set_enum(col);  // warning...
};
grazie.
Sergio
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 accettato un altro.
Usando un typedef? dovrebbe funzionare perche' tu gli dici al
compilatore
di accettare solo i tipi definiti dall'enum colori o dall'enum sapori.
Se vuoi mischiarli devi fare un bel cast...
typedef enum { rosso, verde, blu } colori;
typedef enum { dolce, amaro, salato } sapori;


 typedef enum { dolce, amaro, salato } sapori;
Non funziona. Mi da lo stesso warning:
"inizializzazione di colori con sapori".
Io vorrei invece un errore a compile-time.
Ciao. Sergio.


 colori col = giallo;
'colori' e' trattato come un insieme di int, e in questo non c'e'
differenza con 'sapori'. Potresti provare con un RTTI (Run-Time Type
Identification) (con un conseguente aumento smisurato delle dimensioni
dell'eseguibile) e fare un check se l'input e' proprio del tipo
richiesto, altrimenti lanci un'eccezione (o esci con un errore). Adesso
non mi ricordo come si fa - dovrei andare a controllarmi il manuale del
Borland che purtroppo non ho qui con me - comunque ha qualcosa a che
fare con le keyword dynamic_cast (anche se non c'entra niente) e RTTI.
Q: come mai non sai se il parametro che fornisci in ingresso e' di tipo
'colori' o di tipo 'sapori'? In fondo, sei tu che gli dici cosa passare
alla funzione...


 alla funzione...
E' una questione di correttezza. Gli enumerati sono tipi definiti
dall'utente
(programmatore) e non è corretto che una variabile colori si possa
inizializzare
con una variabile di sapori.
C'è un articolo sugli enumerati (e sulla loro scarsa sicurezza) di
C. Pescio 
www.eptacom.net/articoli/.
.. che mostra come costruire una
classe enum, con tanto di operatori, che ti permette un maggiore
controllo.
Ciao.
Sergio

Newsgroup: it.comp.lang.c++
Titolo: Socket e Winsock

Salve,
so che magari sarebbe meglio postarla su .programmare.win32 , ma la domanda 
è più generica.
Mi occorrono informazioni su una possibile gestione a oggetti di 
comunicazione fra processi tramite socket scritta in c++.
Preferibilmente esempi (anche stupidi) in ambiente M$, visto che come rete 
ho a disposizione solo PC con WinNT.
Ringrazio tutti coloro che leggeranno e/o mi daranno una mano.
oPKo
_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at 
http://www.hotmail.com
.
Share information about yourself, create your own public profile at 
http://profiles.msn.com
.
-- 
Posted from [195.99.244.2] by way of 
law2-f123.hotmail.com
 [216.32.181.123] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

comunicazione fra processi tramite socket scritta in c++.
Allora scaricati il mio semplice portscan a questo indirizzo, ci sono
i sorgenti che ti interessano.
http://web.tiscalinet.it/Bunkersite/BS_1_BETA.zip
Se ti interessa una spiegazione in particolare fammelo sapere e saro'
lieto di aiutarti...
ciao
Bun]{er
-> Home: 
http://bunkersite.cjb.net
-> E-mail: scorp...@NOSPAMtin.it

NON HO TROVATO IL TUO SITO?
NN C'č
PUOI DARMI DEI SUGGERIMENTI
GRAZIE
"Bun]{er" ha scritto:

Newsgroup: it.comp.lang.c++
Titolo: come lancio un programma da un altro programma C++ ?

(Scusate posto questo msg in inglese perché era già pronto)
Hi guys,
I need a very small snippet of code to do this:
launch (under Windows) another program as a separate process, showing a
small window saying some like "Please wait ...".
This is because I am a Java programmer, and the Java Vitrual Machine is a
quite big program and slow to load, specially from a CD-ROM. For example I
need to do a CD-ROM to distribute a Java Application that runs directly from
the CD-ROM itself (like autorun), and all works fine, but on some old
machines this may be a slow and annoying thing.
A friend of mine did with Visual Basic a very small code (2 rows!) using the
Shell command, it works, but shows a dark window in front of the screen
(yes, a "shell"!). I am able to iconify it, but that creates some problems
with the next Java Swing Application (because I make use of
full-screen-windows, fact that creates some problems - but only if the appl.
is launched from this VB program).
I did, more, what I need ... with Java, because I now (only, and C) this
language, it is a non-sense experiment, because I need the same JVM, but the
code is very simple:
try {
    SplashScreen spl = new SplashScreen("Please wait ..."); // spl is a
simple Frame
    Runtime rt = Runtime.getRuntime();
    Process p = rt.exec("jre/bin/java MyHugeSwingJavaApplication");
    p.waitFor();
} catch(Exception e) { }
(Please note that the jre/bin/java ... is a MS Windows application)
I suppose that in Visual C++ I am able to call something this, a Process
class that lets me TO LAUNCHING ANOTHER WINDOWS APPLICATION, *WITHOUT* TO
SHOW A SHELL IN FRONT OF THE SCREEN. This is the thing professional
installers do, like JExpress Denova.
I hope someone could indicate me the right way.
Best wishes
Oreste Venier

 Hi guys,
This NG is about standard C++, I guess you should post your question to:
it.comp.progammare.win32
(scusa se ho risposto in inglese ma era gia' pronta!)
Alex
Newsgroup: it.comp.lang.c++
Titolo: AIUTO Fondamenti di programmazione

Chi di voi sa contare i passi che compie un programma in C e deciderne
l'ordine?
premetto che i passi sono solo le operazioni svolte ad es. 4+5 è un passo o
4+5+6+9 è sempre un passo.
un ciclo di for con un passo all'interno (oparazione) è uguale all ordine di
n.
Vorrei tanto capire come faccio a dire che un programma esegue passi
dell'ordine di "log n" o di "n lon" e come posso accorgermene.
Non so se sono stato chiaro nella spiegazione ma tutto quello che so è che
su questo dovrò fare l'esame.
Ciao Carlo

 l'ordine?
Sei OT, qua si parla di C++, per il C c'è news:it.comp.lang.c
C e C++ non sono la stessa cosa..
--
DGP85
ICQ# 49371455
May the Force be with you!

 wrote in message
news:9s8m4c$otb$1...@nreadb.inwind.it...

Piccola confusione. Il numero di passi non è la stessa cosa dell'ordine
di complessità di un algoritmo.
Per esempio potrei avere un algoritmo di complessità O(N) che eseguito
per due elementi esegue 1452 passi ed eseguito per quattro elementi
esegue in 1464 passi. Eppure l'algoritmo è comunque O(N).
L'ordine di complessità ti dice che tipo di crescita ha il tempo di
esecuzione in funzione della crescita lineare del numero di elementi.
--
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: Chiedo aiuto

Ho creato un programma in c++  per win con il programma Borland c++ Builder
4, ma quando lo eseguo parte anche il pront del dos. Come mai? Io sospetto
sia perchè il programma ha dei warning generati dal fatto che non uso il
puntantore Sender delle funzioni utilizzate.
Come posso risolverlo?

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: garbage collector

volevo sapere una cosa: quando creo un oggetto con new (distruggendolo
poi con delete) o quando alloco memoria per un array (liberandola con
free) devo necessariamente (esplicitamente) liberare lo spazio allocato?
esiste, come in java, o e' possibile creare un garbage collector anche
in C++? ma soprattutto, dovendo gestire array di certe dimensioni, mi
conviene? grazie a tutti quelli che mi aiuteranno in questo.
ah, io uso il Borland C++... (se questo puo' servire)
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 conviene?
Da che punto di vista? Se intendi in termini prestazionali e' difficile
dirlo senza compiere misure specifiche, se intendi in termini di
comodita' e' piu' che altro una questione di abitudine.
Ciao,
Nicola

Esiste una libreria di gc, creata da Hans Boehm abbatsnza utilizzata (mi
pare pure dall'implementazione GNU di java, il gcj). Se fai una ricerca su
google con "garbage collector for c++" non avrai difficoltà a reperirla,
insieme ad altre informazioni.
--
--
Lello Mele
--
HOMEPAGE: 
http://www.lellomele.it
eMAIL   : lellomele@nospam@
libero.it

in C++?
No, il C++ non dispone di garbage collector automatici come altri
linguaggi, tali feature non si sposano bene con un linguaggio come il
C++, concepito perché il programmatore abbia il pieno controllo di ciò
che sta facendo e la possibilità di ottimizzare al meglio il codice.
Nella programmazione delle classi però l'allocazione/disallocazione
della memoria può essere eseguita all'interno dei costruttori e dei
distruttori e resa cosi' trasparente(rendendo inutile la presenza di
garbage collector) anche se la corretta gestione di tale compito
rimane comunque a carico del programmatore.
Il Ghenio
---------
// TODO: Place your ass here
Newsgroup: it.comp.lang.c++
Titolo: System time

  TDateTime tdt;
  SYSTEMTIME syst;
    tdt = (StrToTime("10.15.00"));
    DateTimeToSystemTime(tdt, syst);
    Edit1->Text = TimeToStr(SystemTimeToDateTime(syst));
    SetSystemTime(&syst);
 // -----no error no warning but --------------------
 // -----the systemtime as not been setted why?------
 // -----where is the problem?-----------------------
per favore rispondetemi in e-mail
dav...@beer.com



Newsgroup: it.comp.lang.c++
Titolo: conversioni fra puntatori a funzione

Devo incapsualre una libreria C dentro una classe. Una delle funzioni C
richiede un parametro puntatore a funzione tipo:
void (*)(int, int, double *, double *, void *).
Nella classe ho implementato un metodo con questo prototipo:
void NomeClasse::obj(int, int, double *, double *, void *),
ma in fase di compilazione ottengo questo messaggio di errore:
NomeClasse.cpp: In method `short int NomeClasse::avvia(double *, int,
double)':
NomeClasse.cpp:64: no matches converting function `nomefunz' to type
`void (*)(int, int, double *, double *, void *)'
NomeClasse.hpp:53: candidates are: void NomeClasse::nomefunz(int, int,
double *, double *, void *)
Come posso fare?
Grazie,
	Bernardetta Addis

Come posso fare?
dichiara la funzioncina void come static ... altrimenti non ci sarà
niente da fare
cod



Dipende da cosa devi fare.  Quando hai cercato di compilare il codice, che
cosa ti aspettavi di ottenere? Come pensavi che la funzione C potesse
utilizzare il puntatore alla funzione membro?
Per ovvi motivi un puntatore a una funzione membro (non static) può essere
usato per invocare la funzione stessa esclusivamente in combinazione con
un'instanza della classe. Per questa ragione non è possibile (e non ha
alcun senso) convertire un puntatore a una funzione membro non static in
un puntatore a funzione.
Se hai bisogno che la libreria C effettui la callback a un metodo di una
certa *ben precisa* instanza della tua classe, hai tipicamente due
alternative.
Spesso le API in C consentono di passare accanto al puntatore a funzione
anche un argomento di tipo void*, che viene poi passato alla funzione
stessa quando essa è invocata. Il caso tipico sono le API per lanciare i
thread. La presenza di un argomento void* mi lascia supporre che sia il
tuo caso.  Se è così, la soluzione sarebbe semplice:
 class MyClass
 {  public:
    void func( int, int, double *, double *); 
     // nota l'assenza dell'ultimo argomento void*
 };
 void forward_call( int a1, int a2, double * a3, double * a4, void* ptr )
 {
    reinterpret_cast<MyClass*>(ptr)->func(a1,a2,a3,a4);
    // assumo che ptr sia un MyClass* e lo uso per invocare MyCall::func
  }
Quindi, immaginando che la funzione della tua libreria C accetti (come
ho detto) un void* come secondo argomento:
 
 MyClass obj;
 
 lib_func( forward_call, &obj ); 
Se questo argomento aggiuntivo non è previsto, devi stabilire a priori
qual è l'instanza di MyClass a cui la callback dovrà arrivare. Questo lo
puoi fare registrando il puntatore all'oggetto in una variabile globale e
usando quel puntatore in una funzione standard.
Max
Newsgroup: it.comp.lang.c++
Titolo: Curioso problema con Turbo C++ 2.0 per Dos

Ciao a tutti. Ho un problema quanto meno curioso con il suddetto
compilatore. Ho installato il compilatore nella directory
\borland\tc e poi l'ho avviato. Ho scritto il programmino,
semplice ma efficace --vedremo poi il motivo--:
void main()
{
}
che viene compilato e lanciato correttamente. Non fa molto, ma
viene compilato... Ho poi elaborato il programma in questo modo:
#include <iostream.h>
void main()
{
   cout << "Io sono bello e funziono";
}
e ho provato a compilarlo. Ottengo circa 400.000 errori, tutti in
iostream.h, del tipo declaration sintax error. Se vado ad aprire
iostream.h noto che ogni volta che viene definita una class
oppure uno stream o altre cose mi viene segnalato un errore: mi
sapete indicare il motivo?
TIA.

 sapete indicare il motivo?
Secondo me stai compilando in C, non in C++. Prova a controllare le
opzioni del compilatore.
?manu*

...















 sapete indicare il motivo?
Stai cercando di compilare con un compilatore C un programma in C++.
Ci sara' uno switch sulla linea di comando o un eseguibile a parte per
il c++, non ricordo.
Se usi l'ide Borland devi cercare nelle opzioni e far compilare il 
file con estensione come la tua in C++.
COmunque se lo salvi con estensione CPP dovrebbe farlo da solo.
Ciao.
** Email replies to 
md7...@mclink.it
 **
visit my homepage at: 
http://www.volftp.tin.it/IT/IT/ITALIANI/rullo/index.htm

Newsgroup: it.comp.lang.c++
Titolo: C++ Unix DB2

Salve a tutti!
Sono nuovo di questa mailing list e lasciando subito i
convenevoli vi sottopongo subito il mio preoblema:
con il mio gruppo di lavoro sto sviluppando una
procedura in c++ su un sistema unix AIX e un database
DB2. All'interno delle nostre procedure vorremo
inserire delle istruzione SQL di tipo statiche, ma
nessuno di noi e' pratico del problema. Quindi ci
piacerebbe avere dei chiaramenti su come strutturare i
file di cpp con a loro interno i comandi sql e come
effettuarne la precompilazione/compilazione.
Premetto che siamo al corrente di come vengano
richiamati i comandi SQL nei sorgenti di c++ e che
come compilatore vorremmo utilizzare il "vacbld" del
Visual Age C++ ma potremmo anche utilizzare il
classico "xlc" (xlCv4 o xlCcpp) di unix AIX.
Vi ringrazio tutti anticipatamente con la speranza di
potervi essere utili anche noi quanto prima.
MrDreams75(^__^)                  
mrdre...@yahoo.it
______________________________________________________________________
Do You Yahoo!?
Il tuo indirizzo gratis e per sempre @
yahoo.it
 su 
http://mail.yahoo.it
--
Posted from 
web1304.mail.yahoo.com
 [128.11.23.154] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

convenevoli vi sottopongo subito il mio preoblema:
Solo una precisazione: questo é un newsgroup, non una mailing list.
-------             --------
J  I  G  G  L  Y  P  U  F  F .
-------             --------