Chronometre et lib Qt4 MSG d'erreur

Résolu/Fermé
Dagodi Messages postés 15 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 16 mars 2013 - 3 nov. 2009 à 09:54
Dagodi Messages postés 15 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 16 mars 2013 - 3 nov. 2009 à 11:56
Bonjour,

voila je suis un débutant en C++ et j'aurai une question a vous soumettre je dois faire un chornometre en C++ donc jusque la pas de problème avec les librairies Qt. Donc j'ai commencé mais je tombe sur ce message d'érreur:
10/trunk/Chrono/Chrono/Chrono.cpp|50|error: request for member ‘elapsed’ in ‘time’, which is of non-class type ‘time_t(time_t*)throw ()’|
aurriez vous une idée?????
Merci d'avance et désolé si ma question est idiote.

Voici toute mes sources:

Chrono.h
--------------------------------------------------------------------------------------------------------------------------
/**
* Copyright (C) 2007-200
* @file Chrono.h
* @brief
* @version 0.1
* @date 03 nov. 2009 08:39:55
*
* @note Voir la description detaillee explicite dans le fichier
* Chrono.cpp
*/

/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#ifndef _CHRONO_H
#define _CHRONO_H

// Includes system
// Includes qt

#include <QApplication>
#include <QLCDNumber>
#include <QPushButton>
#include <QTimer>
#include <QGridLayout>
#include <iostream>

using namespace std;

// Includes application

// Constantes
// const int NBRE_MAXIMAL = 40; //exemple a supprimer

// Types
// typedef enum {BLEU = 1 , BLANC, ROUGE } Couleur ; //exemple a supprimer


// Declarations de classe avancees
// class MaClasse; //exemple a supprimer

/** @brief
*
* Description detaillee de la classe.
*/
class Chrono
{
public :
/**
* Constructeur
*/
Chrono() ;
/**
* Destructeur
*/
~Chrono() ;

//Methodes publiques de la classe
//ex : typeRetour nomMethode(typeParametre);

// Démarrer le chrono
void start();

// Stoper le chrono
void stop();

void timerChrono();

//Pour les associations :
//Methodes publiques assesseurs des attributs prives
//ex : void setNomAttribut(typeAttribut valeur);
//ex : typeAttribut getNomAttribut(void);

protected :
// Attributs proteges

// Methode protegees

private :
// Attributs prives
// ex : typeAttribut nomAttribut;
int millisecondes;

// Methodes privees
} ;

#endif //_CHRONO_H
// Methodes publiques assesseurs inline
// Exemple :
//inline void Chrono::setNomAttribut(typeAttribut valeur)
//{
// this->nomAttribut = valeur;
//}
//inline typeAttribut Chrono::getNomAttribut(void)
//{
// return this->nomAttribut;
//}
--------------------------------------------------------------------------------------------------------------------------



Chrono.cpp
--------------------------------------------------------------------------------------------------------------------------

/**
* Copyright (C) 2007-2008
* @file Chrono.cpp
* @brief
* @version 0.1
* @date 03 nov. 2009 08:39:55
*
* Description detaillee du fichier Chrono.cpp
* Fabrication gcc 4.2.1
* @todo Liste des choses restant a faire.
* @bug 03 nov. 2009 08:39:55 - Aucun pour l'instant
*/

/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/

// Includes system

// Includes qt

// Includes application
#include "Chrono.h"


/**
* Constructeur
*/
Chrono::Chrono()
{
}

/**
* Destructeur
*/
Chrono::~Chrono()
{
}

void Chrono::timerChrono()
{

while(1)
{
millisecondes = time.elapsed();
cout << millisecondes << endl;
}
}

// Methodes publiques
//ex : typeRetour Chrono::nomMethode(typeParametre param) {}
/**
* Exemple de description d'une methode
*
* @param unParametre Description d'un parametre
*/

// Methodes protegees

// Methodes privees

--------------------------------------------------------------------------------------------------------------------------



ChronoTesteur.h
--------------------------------------------------------------------------------------------------------------------------

/*
* Fichier : ChronoTesteur.h
* Classe : Chrono
*
* 03 nov. 2009 08:39:55 : mathieu, Version initiale
*/

#ifndef _CHRONOTESTEUR_H
#define _CHRONOTESTEUR_H

// Includes system
#include <cppunit/TestFixture.h>
#include <cppunit/extensions/HelperMacros.h>

// Includes qt

// Includes application
#include "Chrono.h"

class ChronoTesteur : public CppUnit::TestFixture
{

CPPUNIT_TEST_SUITE( ChronoTesteur );
CPPUNIT_TEST( testConstructor );
CPPUNIT_TEST( testUnitaire1 );
CPPUNIT_TEST( testUnitaire2 );
CPPUNIT_TEST( testUnitaire3 );
CPPUNIT_TEST_SUITE_END();

public :
void setUp();
void tearDown();

void testConstructor();
void testUnitaire1();
void testUnitaire2();
void testUnitaire3();


protected :
// Attributs proteges

// Methode protegees

private :
// Attributs prives

// Methodes privees

} ;

#endif //_CHRONOTESTEUR_H

--------------------------------------------------------------------------------------------------------------------------



ChronoTesteur.cpp
--------------------------------------------------------------------------------------------------------------------------
/*
* Fichier : ChronoTesteur.cpp
* Classe : Chrono
*
* 03 nov. 2009 08:39:55 : mathieu, Version initiale
*/

// Includes system
#include <iostream>

#include <cppunit/CompilerOutputter.h>
#include <cppunit/XmlOutputter.h>
#include <cppunit/extensions/TestFactoryRegistry.h>
#include <cppunit/TestResult.h>
#include <cppunit/TestResultCollector.h>
#include <cppunit/TestRunner.h>
#include <cppunit/BriefTestProgressListener.h>

// Includes qt

// Includes application
#include "ChronoTesteur.h"

using namespace std;

// Registers the fixture into the 'registry'
CPPUNIT_TEST_SUITE_REGISTRATION( ChronoTesteur );

// Type d'assertion
//# CPPUNIT_ASSERT(condition)
//Assertions that a condition is true.
//# CPPUNIT_ASSERT_MESSAGE(message, condition)
//Assertion with a user specified message.
//# CPPUNIT_FAIL(message)
//Fails with the specified message
//# CPPUNIT_ASSERT_EQUAL(expected, actual)
//Asserts that two values are equals.
//# CPPUNIT_ASSERT_EQUAL_MESSAGE(message, expected, actual)
//Asserts that two values are equals, provides additional message on failure
//# CPPUNIT_ASSERT_DOUBLES_EQUAL(expected, actual, delta)

// setUp() to initialize the variables you will use for test
void ChronoTesteur::setUp()
{
}

// tearDown() to release any permanent resources you allocated in setUp()
void ChronoTesteur::tearDown()
{
}

//Suite des tests unitaires

void ChronoTesteur::testConstructor()
{
CPPUNIT_FAIL( "not implemented" );
}


void ChronoTesteur::testUnitaire1()
{
// Construction de la classe a tester
cout << "Construction de l'instance de classe (objet) Chrono" << endl;
Chrono *chrono = new Chrono();

// Test unitaire d'une methode publique de la classe
// Utilisation des macros CPPUNIT_ASSERT, CPPUNIT_ASSERT_EQUAL, etc.
}

void ChronoTesteur::testUnitaire2()
{

}

void ChronoTesteur::testUnitaire3()
{

}



// the main method
int main (int argc, char* argv[])
{



// informs test-listener about testresults
CPPUNIT_NS :: TestResult testresult;

// register listener for collecting the test-results
CPPUNIT_NS :: TestResultCollector collectedresults;
testresult.addListener (&collectedresults);

// register listener for per-test progress output
CPPUNIT_NS :: BriefTestProgressListener progress;
testresult.addListener (&progress);

// insert test-suite at test-runner by registry
CPPUNIT_NS :: TestRunner testrunner;
testrunner.addTest (CPPUNIT_NS :: TestFactoryRegistry :: getRegistry ().makeTest ());
testrunner.run (testresult);

// output results in compiler-format
CPPUNIT_NS :: CompilerOutputter compileroutputter (&collectedresults, std::cerr);
compileroutputter.write ();

// return 0 if tests were successful
return collectedresults.wasSuccessful () ? 0 : 1;

}

--------------------------------------------------------------------------------------------------------------------------

2 réponses

loupius Messages postés 697 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 31 décembre 2017 148
3 nov. 2009 à 11:11
A moins que quelque chose m'ait échappé - non indenté, le code est illisible ! -, ben oui, on a une idée... il suffit de lire la remarque du compilateur !
ligne 50 de Chrono.cpp: millisecondes = time.elapsed();
C'est quoi 'time' ? Sans doute une variable, mais nulle part je n'en vois la déclaration !
Bonne continuation.
0
Dagodi Messages postés 15 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 16 mars 2013 1
3 nov. 2009 à 11:56
Désolé pour mes trucs illisible merci pour ta réponce je te souhaite une bonne journée.
0