PDA

Visualizza la versione completa : [C++] Errori di compilazione


vincienalotto
06-11-2005, 10:00
Ciao a tutti,
sto imparando a utilizzare il linguaggio C++. Per compilare uso il programma dev c++ ma facendo un semplice programmino che c'è sul libro mi da degli errori di compilazione.
Guardate qui:
#include <iostream>
using namespace std;

int main () {
cout << "a number in decimal: " << dec << 15 <<endl;
cout << "in octal:" << oct << 15 << endl;
cout << "in hex:" << hex << 15 << endl;
cout << "a floating - point number : " << 3.14159 << endl;
cout << "non printing char (escape): " << char(27) << endl;
}

o anche se scrivo così:

#include <iostream>
using namespace std;

int main () {
cout << "a number in decimal: " << dec << 15 <<endl;
cout << "in octal:" << oct << 15 << endl;
cout << "in hex:" << hex << 15 << endl;
cout << "a floating - point number : " << 3.14159 << endl;
cout << "non printing char (escape): " << char(27) << endl;
cin.get();
return 0;
}

mi da i seguenti errori:

Compilatore: Default compiler
Building Makefile: "C:\Dev-Cpp\Makefile.win"
Esecuzione di make...
make.exe -f "C:\Dev-Cpp\Makefile.win" all
g++.exe -c Prova.cpp -o Prova.o -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include" -I"C:/Dev-Cpp/include/c++/3.4.2/backward" -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32" -I"C:/Dev-Cpp/include/c++/3.4.2" -I"C:/Dev-Cpp/include" -ansi -traditional-cpp -fno-access-control -fexceptions -fverbose-asm

g++.exe Prova2.o Prova.o Prova_private.res -o "Prova.exe" -L"C:/Dev-Cpp/lib" -s

Prova.o(.text+0x100):Prova.cpp: multiple definition of `main'
Prova2.o(.text+0x100):Prova2.cpp: first defined here
collect2: ld returned 1 exit status

make.exe: *** [Prova.exe] Error 1

Esecuzione terminata

qualcuno mi saprebbe aiutare perpiacere?
Grazie.
Ciao.

XWolverineX
06-11-2005, 10:05
Ho provato a compilarlo io con Visual C++ 2003 e non da errori.
Da quello che leggo ci sono due definizioni del main()...

vincienalotto
06-11-2005, 10:07
Problema risolto scusate. Ho scritto così:
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
cout << "a number in decimal: " << dec << 15 <<endl;
cout << "in octal:" << oct << 15 << endl;
cout << "in hex:" << hex << 15 << endl;
cout << "a floating - point number : " << 3.14159 << endl;
cout << "non printing char (escape): " << char(27) << endl;
system("PAUSE");
return EXIT_SUCCESS;
}

vincienalotto
06-11-2005, 10:12
Cmq nn capisco xke con visual c++ c'è una sintassi diversa dal dev c++, che rende un pò difficile per i principianti risolvere i problemi, cmq l'importante è ke il problema sia risolto :D

XWolverineX
06-11-2005, 10:18
Il Visual C++ cambia un po le cose nei suoi compilatori ma nel complesso è conforme e funziona.
Invece di usare le costanti simboliche EXIT_SUCCESS e EXIT_FAILURE puoi mettere direttamente 0 o 1

Loading