Comment fixer le compilateur C++ d'erreur “impossible de convertir de 'Type' à 'const Type*'”?

C'est le message d'erreur:

erreur: impossible de convertir de 'MyTime' à 'const MyTime*' for argument '1' to 'int DetermineElapsedTime(const MyTime*, const MyTime*)'|

Et c'est mon code:

#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;

}

Est-il possible que je peux résoudre ce problème? N'hésitez pas à signaler d'autres erreurs que vous voyez. Je ne sais à propos de fixation DetermineTimeElapsed correctement la sortie de la hr:min:sec format. mais pour l'instant, j'ai besoin de sortir de cette.

  • DetermineElapsedTime(tm, tm2); attend de pointeurs
  • Hmm. Ok, je vois. J'ai donc changer DetermineElapsedTime(tm, tm2); à DetermineElapsedTime(&tm, &tm2); de toute façon qui est en bas à droit de vote, quel est le problème avec la question?
  • Parfaitement les bonnes questions descendre voté, sans explication, tout le temps. Votre question semble meilleure que la moyenne pour moi. Peut-être que la note de panique dans la question du titre? Ce n'est pas un problème majeur, car au moins.
  • Je vous remercie d'être raisonnable.
InformationsquelleAutor user1781382 | 2012-11-12