Meu código é o seguinte :
/*
* File: main.cpp
* Author: Leonardo
*
* Created on 29 de Setembro de 2009, 23:05
*/
#include <stdlib.h>
#include <iostream.h>
using namespace std;
/*
*
*/
class Horario{
//declaração das variaveis privadas
private:
int dia,hora,minuto,segundo;
//deixa o tempo da maneira correta
void arruma_tempo();
//declaração das variaveis publicas
public:
//construtor com parametros
Horario(int d = 0, int h = 0, int m = 0, int s = 0);
Horario(int s);
~Horario() {}
//sobrecarga de operadores
Horario operator+(Horario a);
Horario operator-(Horario a);
Horario operator*(Horario a);
Horario operator/(Horario a);
//imprime valor na tela
void imprime_data();
//incrementa segundos
void incrementa_seg();
//total de segundos para facilitar a transformações nas sobrecargas
int total_segundos();
};
//inicializando elementos
Horario::Horario(int d, int h, int m, int s){
dia = d;
hora = h;
minuto = m;
segundo = s;
arruma_tempo();
}
Horario::Horario(int s){
segundo = s;
dia = hora = minuto = 0;
arruma_tempo();
}
int Horario::total_segundos(){
return (segundo + minuto*60 + hora *60*60 + dia*24*60*60);
}
void Horario::arruma_tempo(){
while(segundo >=60){
minuto++;
segundo -= 60;
}
while(minuto >=60){
hora++;
minuto -=60;
}
while(hora >= 24){
dia++;
hora -= 24;
}
}
void Horario::imprime_data(){
cout << dia << " dias " << hora << " horas " << minuto << " minutos " << segundo << " segundos" << endl;
}
void Horario::incrementa_seg(){
segundo++;
arruma_tempo();
}
Horario Horario::operator +(Horario a){
return Horario(total_segundos() + a.total_segundos());
}
int main(int argc, char** argv) {
return (EXIT_SUCCESS);
}O erro :
main.cpp:96: error: call of overloaded `Horario(int)' is ambiguous
Alguém tem ideia de como solucionar isso ?
Obrigado










