Salut!

std::chrono étant très pratique et plus précise que SFML, mais bien plus complexe à utiliser, j'ai décidé de créer mes propres classes Time et Chrono, après tout cela ne peut être que bénéfique.

Cependant il y a encore un point qui me chagrine, je souhaiterai créer un "time point" à partir d'une duration arbitraire, j'ai vu que il est possible de créer n'importe quel type de duration exprimée de n'importe quelle façon. (grâce à std::ratio)

Cependant, quand j'essaye de la convertir en un "time point" j'ai une erreur de compilation, je suis obligé à chaque fois d'utilise std::chrono::seconds sinon ça ne compile pas donc ce code compile :

Code cpp : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
Time seconds (long int amount) {
        Time time;
        time.time = std::chrono::time_point<std::chrono::high_resolution_clock>(std::chrono::seconds(amount));
        return time;
}

Par contre celui-ci ne compile pas!

Code cpp : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
Time seconds (float amount) {
        Time time;
        std::chrono::duration<float, std::ratio<1, 1000000>> dur (amount);
        time.time = std::chrono::time_point<std::chrono::high_resolution_clock, std::chrono::duration<float, std::ratio<1, 1000000>>>(dur);
        return time;
}

Faut t'il faire un cast ou quelque chose du genre ?

Merci d'avance pour l'aide.