Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Ciao, sono un mega-principiante in c++, ed ho un problema dal quale non riesco a venirne fuori: quando cerco di fare una funzione void, durante la compilazione c'è un errore :"main must return 'int'". per chiarire meglio:
Ho provato ad usare sia Kdevelop che Anjuta, e l'errore è sempre lo stesso. quidi penso che sia una cosa che dipende dal compilatore gcc. aspetto consigli (e magari qualche soluzione ). grazie.
gastone90 ha scritto:Ciao, sono un mega-principiante in c++, ed ho un problema dal quale non riesco a venirne fuori: quando cerco di fare una funzione void, durante la compilazione c'è un errore :"main must return 'int'". per chiarire meglio:
Ho provato ad usare sia Kdevelop che Anjuta, e l'errore è sempre lo stesso. quidi penso che sia una cosa che dipende dal compilatore gcc. aspetto consigli (e magari qualche soluzione ). grazie.
esiste una ed una sola definizione di main:
int main (int argc, char** argv)
{
//blablabla
return 1;
}
NB ritorna pure quello che ti serve return 1 è solo un esempio.
l'errore del compilatore è dovuto al fatto che non esiste una definizione del main del tipo
Ma io sul sito: http://freeweb.supereva.com/programmarein/c/c.htm?p
avevo trovato questo programma d'esempio:
#include <iostream>
using namespace std;
void main()
{
char c = 0;
while(c != 'x')
{
cout << "Inserisci un carattere (x per uscire) e premi invio: ";
cin >> c;
cout << "Hai inserito il carattere: " << c << endl;
}
}
che mi da l'errore main must return 'int' . BOOOO.......
gastone90 ha scritto:è scritto in c++... almeno credo. in c si può fare quel prog?
no l' iostream è una libreria c++.
vedi in ansi esiste solo la definizione main che ti ho dato io. poi può accadere che non te ne fai una mazza del valore di ritorno o del parsing della riga di comando (insomma gli argomanti tra parentesi) allora alcuni compilatori sono + permissivi e se ne fregano di ciò che è ansi, accettando altri tipi di main.
evidentemente il gcc no! è duro & puro [OH! ma guarda che per compilare il c++ ci vuole il g++ non il gcc che fa solo c!]
tra l'altro è vero: se l'ide o chi per lui vbuole una certa estensione per il file, piuttostoche un'altra okkio!
comunque l'errore di compilazione per adesso è limitato alla definizione/dichiarazione del main che discordano...
mentre il tipo di ritorno è int e basta, credo che sia perfettamente lecito usare void come parametro, qualora non ci curiamo di questi, o almeno non ho mai visto nessun warning in merito.
comunque il gcc quando compila file cc fa porcate, usa g++ x compilare programmi c++, come diceva paoletta.
se lo vuoi fare in c, usa printf.
Ho slackware 10.1, sapete mica se il compilatore g++ è già compreso? (ho fatto l'installazione completa).grazie scusate la mia ignoranza...
(Un altra cosa che non c'entra niente. perchè sotto il disegno del pinguino che ho qui come logo in slacky c'è scritto windows? Io nemmeno ce l'ho windows!! come si fa a cambiarla?)