[c++11] std::chrono, convertir une "duration" arbitraire en un "time point".
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:
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:
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.