Wie bekommt man eine Zeit in eine If-Bedingung?



  • Britzi schrieb:

    Ok, ich habs verstanden.
    Alles außerhalb der Main ist global und sonst nicht 🙂

    Von der Formulierung her nicht ganz richtig: Alles außerhalb von Funktionen, Klassen etc. ist global (Die Aussage ist nicht auf die main begrenzt).

    Britzi schrieb:

    Wenn ich aber nun die Variable in der Main und nicht global deklariere, ist sie in einer Funktion in der späteren Schleife nicht deklariert und somit nicht verfügbar.

    Selbst wenn du das nicht hören willst: Funktionsparameter (Oder als Member einer Klasse, das führt deinem Code nach aber bereits zu weit). Wenn ich die Rückgabe von std::chrono::high_resolution_clock::now richtig interpretiere:

    void Zeitfunktion(std::chrono::time_point & t)
    {
        //...
    }
    
    int main(int argc, const char** argv)
    {
        auto t = std::chrono::high_resolution_clock::now();
        for(;;)
        {
            Zeitfunktion(t);
        }
    }
    


  • Ok, vielen Dank 🙂

    Dann übergebe ich das halt als Parameter.

    Leider funktioniert es so aber nicht.
    Ich bekomme folgenden Fehler bei der Übergabe:

    'std::chrono::time_point' is not a type

    Ich habe auch schon ein paar Datentypen probiert, aber ich habe keine Idee, was der richtige Datentyp ist. 😞



  • Britzi schrieb:

    Ich habe auch schon ein paar Datentypen probiert, aber ich habe keine Idee, was der richtige Datentyp ist. 😞

    Probier nicht aus, sondern finde systematisch heraus, was das Problem sein könnte. Zum Beispiel kannst du auf cppreference.com oder cplusplus.com den Typ chrono::time_point nachschlagen und schauen, ob du den entsprechenden Header eingebunden hast.



  • Britzi schrieb:

    Ich habe auch schon ein paar Datentypen probiert, aber ich habe keine Idee, was der richtige Datentyp ist. 😞

    Weiterprobieren! Nach wenigen Milliarden Jahren haste die richtige Buchstabenfolge gefunden.

    Oder schnell nachschauen, http://en.cppreference.com/w/cpp/chrono/high_resolution_clock



  • Danke für die Referenzen.

    Mir war bis eben nicht bewusst, dass es sowas praktisches gibt 👍 🙂

    Als Parameter

    std::chrono::high_resolution_clock::time_point &t
    

    funktioniert einwandfrei 🙂

    Danke nochmals 🙂


Anmelden zum Antworten