Newsgroup: it.comp.lang.c++
Titolo: Tutto d'un tratto il compilatore inizia con le allucinazioni

>(signed char &)'
Error:  iostream.h(616,49):Multiple declaration for 'ostream::put(signed
char)'
Error:  iostream.h(615,49):Earlier declaration of 'ostream::put(signed
char)'
Error:  iostream.h(619,69):Multiple declaration for 'ostream::write(const
signed char *,int)'
Error:  iostream.h(618,69):Earlier declaration of 'ostream::write(const
signed char *,int)'
Error:  iostream.h(630,57):Multiple declaration for 'ostream::operator
<<(signed char)'
Error:  iostream.h(629,57):Earlier declaration of 'ostream::operator
<<(signed char)'
Error:  iostream.h(650,70):Multiple declaration for 'ostream::operator
<<(const signed char *)'
Error:  iostream.h(649,70):Earlier declaration of 'ostream::operator
<<(const signed char *)'
Error:  iostream.h(691,84):Body has already been defined for function
'ostream::operator <<(const signed char *)'
Error:  iostream.h(720,18):Body has already been defined for function
'ostream::put(signed char)'


Per caso prima di includere <iostream> includi qualche
tuo header?
Manlio Perillo

Probabilmente sto dicendo una castroneria, ma a me è successo qualcosa dell
genere e ho risolto postponendo all'include la seguente istruzione:
using namespace std;
Prova  e dimmi cosa succede...
Francesco

 tuo header?
   Assolutamente. Solo #include <stdio.h> #include <stdlib.h> #include
<iostream>
E' capace di farlo anche con "Hallo World"...
Sebastiano

Ecco un programma cretinissimo che si rifiuta di compilare:
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
void main(void){
cout<<"Hallo World!!!";
int i=0;
for(int j=0; j<10; j++)
 {
  i+=j;
   cout<<"i="<<i<<endl;
   }
}
Gli errori sono gli stessi ... i soliti 22 !!
Dimmi tu che gli è preso al mio compilatore. Aveva fatto il bravo fino ad
ora !?!?!?!
 :-(

ora !?!?!?!
Non so quanto sia aggiornato il compilatore che usi
rispetto ai namespace. Comunque una possibilita' e'
che tu (inavvertitamente) abbia toccato dei file
di include standard in qualche maniera.
Andrea
--
Andrea Griffini, Programmer
http://www.netservers.com/~agriff

 void main(void){
Main deve restituire int.
Hai provato a includere solo <iostream>?
Se gli errori spariscono vuol dire che c'e' qualcosa che
non va in <stdio.h> o <stdlib.h>.
Gli header che includi sono tutti "orignali" forniti con il
compilatore oppure sono di provenienza diversa?
Tutti gli errori sono dicharazioni multiple di funzioni che
prendono dei 'signed char'.  Non e' che il compilatore considera
'char' e 'signed char' come lo stesso tipo e non accetta le due
versioni delle funzioni?
ciao,
	Mauro

 ora !?!?!?!
Se ancora non hai risolto prova a compilare il programma dalla
riga di comando.
Se ancora si ostina a non funzionare reinstalla tutto.
Manlio Perillo

Ho provato a fare come mi ha suggerito Mauro Casini, ma non ho ottenuto
niente di meglio.
Se aggiungevo
using namespace std;
come mi aveva suggerito Francesco Ciani, tutte le parole, tranne std,
venivano "illuminate" come parole chiave.
Sintomo che std non veniva riconosciuta.
Ho pensato che la cosa migliore da fare fosse reinstallare.
Mi sa che purtroppo avevi ragione tu sui file manomessi involontariamente.
Avevo in precedenza installato il C-Builder, perchè volevo vedere se
ragionava un pò meglio del Borland C++.
Forse ho incasinato qualcosa, sicchè ho deciso di rimuovere entrambi.
Ora, però, std non viene ancora visto come il nome di un namespace valido.
Che può essere?
Sebastiano