quand je compilé ce timer.hpp fichier d'en-tête ci-dessous, Le compilateur dit erreur: aucune correspondance pour « opérateur = » (types d'opérandes sont 'std :: chrono :: _ V2 :: system_clock :: time_point {alias std :: chrono :: time_point>>}' et 'std :: __ success_type>> :: type {alias std :: chrono :: duration>} ') end = std :: chrono :: high_resolution_clock :: maintenant() - start;Aucune correspondance pour « opérateur = » lors de l'utilisation std :: :: high_resolution_clock
Je suppose que le type de variable pour le début et la fin est faux. Quel est le bon type? Je veux utiliser std :: chrono :: high_resolution_clock.
#include <chrono>
namespace timer{
static std::chrono::system_clock::time_point start, end;
void initTime(){
start = std::chrono::high_resolution_clock::now();
}
void endTime(){
end = std::chrono::high_resolution_clock::now() - start;
}
}
timer.hpp est censé être utilisé avec un certain fichier principal. En appelant timer :: initTime() avant une fonction que je veux mesurer et en appelant timer :: endTime() après la fonction, j'obtiendrais le résultat du timing (le getter pour la durée time est omis ici).
Voici un didacticiel vidéo pour 'chrono': https://www.youtube.com/watch?v=P32hvk8b13M Il permet de résoudre les problèmes de ce type. –