Problema del compilatore

Riuzaki
ragazzi ho un problema con il compilatore, sto facendo una prova con le classi, mondo che mi si è appena aperto e sto scoprendo:

questo è il main:
#include "time.h"
#include <iostream>

using namespace std;

int main()
{
	time t;

	t.setTime(2,3,2);

	t.print();

	return 0;
}


questa è la dichiarazione della classe:

#ifndef TIME_H_
#define TIME_H_

class time
{
public:
	time();
	void setTime(int, int, int);
	void print();
private:
	int hour;
	int minute;
	int second;
};

#endif /* TIME_H_ */

questa è l'implementazione della classe time:
#include "time.h"
#include <iostream>

using namespace std;

time::time()
{
	hour = minute = second = 0;
}

void time::setTime(int a, int b, int c)
{
	hour = a;
	minute = b;
	second = c;
}

void time::print()
{
	cout << hour << ":" << minute << ":" << second << endl;
}

mi da il seguente errore:
**** Build of configuration Debug for project time ****

make all 
Building file: ../main.cpp
Invoking: GCC C++ Compiler
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"main.d" -MT"main.d" -o"main.o" "../main.cpp"
../main.cpp: In function ‘int main()’:
../main.cpp:8: error: expected ‘;’ before ‘t’
../main.cpp:8: warning: statement is a reference, not call, to function ‘time’
../main.cpp:8: warning: statement has no effect
../main.cpp:10: error: ‘t’ was not declared in this scope
make: *** [main.o] Errore 1

Risposte
Omega1
Ho letto il tuo programma, e ho notato un semplice conflitto di nomi.

Infatti, in c++, l' hader time.h esiste già: http://www.cplusplus.com/reference/clibrary/ctime/
Per risolvere il problema, basta cambiare nome alla classe.

Riuzaki
ma io non ho incluso la libreria ....come fanno ad entrare in conflitto???

Omega1
"Riuzaki":
ma io non ho incluso la libreria ....come fanno ad entrare in conflitto???


Io non mi riferivo alla libreria ctime, ma all' hader time.h!
Per rendertene conto, osserva gli esempi riportati nell sito.

Ahi cambiato il nome alla tua classe e all' hader?

Riuzaki
si si funziona, ti ringrazio era un bug sottilissimo da individuare.........

Omega1
Di nulla! :D

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.