Questo è il messaggio di errore completo:Come risolvere compilatore C++-errore "non è in grado di convertire 'Tipo' a 'tipo const *'"?
error: cannot convert 'MyTime' to 'const MyTime*' for argument '1' to 'int DetermineElapsedTime(const MyTime*, const MyTime*)'|
E questo è il mio codice:
#include <iostream>
#include<cstdlib>
#include<cstring>
using namespace std;
struct MyTime { int hours, minutes, seconds; };
int DetermineElapsedTime(const MyTime *t1, const MyTime *t2);
const int hourSeconds = 3600;
const int minSeconds = 60;
int DetermineElapsedTime(const MyTime *t1, const MyTime *t2)
{
long timeDiff = ((((t2->hours * hourSeconds) + (t2->minutes * minSeconds) + t2->seconds) -
((t1->hours * hourSeconds) + (t1->minutes * minSeconds) + t1->seconds)));
return(timeDiff);
}
int main(void)
{
char delim1, delim2;
MyTime tm, tm2;
cout << "Input two formats for the time. Separate each with a space. Ex: hr:min:sec\n";
cin >> tm.hours >> delim1 >> tm.minutes >> delim2 >> tm.seconds;
cin >> tm2.hours >> delim1 >> tm2.minutes >> delim2 >> tm2.seconds;
DetermineElapsedTime(tm, tm2);
return 0;
}
Esiste un modo che posso risolvere? Sentiti libero di segnalare eventuali altri errori che vedi. So di correggere DetermineTimeElapsed per produrre correttamente il formato hr: min: sec. ma in questo momento ho bisogno di superare questo.
DetermineElapsedTime (tm, tm2); aspetta puntatori – Sarang
Hmm. Ok capisco. Così cambio DetermineElapsedTime (tm, tm2); DetermineElapsedTime (& tm, &tm2); Chi ha votato per difetto, che cosa c'è di sbagliato nella domanda? – user1781382
@ user1781382 Le domande perfettamente buone vengono votate senza spiegazione per tutto il tempo.La tua domanda sembra migliore della media per me. Forse la nota di panico nella titolo della domanda? Questo non è un grosso problema, almeno per SO. – john