Page 1 of 1

Creating multiple timers with ITimer class

Posted: Mon Dec 19, 2005 11:30 am
by kushagra
The class is abstract
How can i create a number of virtual timers
like
class b
{
class a
{
----> ITimer timer;

}o2[30];
}
object;

object.o2[0].timer.setTime(0);
object.o2[0].timer.start();
..
.
.
.
and so on

Now the error is shown and the line (---->) shown above that ITimer is an abstract class

error:
cannot instantiate abstract class

Posted: Mon Dec 19, 2005 11:36 am
by hybrid
Use CTImer. All classes prefixed by 'I' are interfaces, and thus abstract. You have to use an implementation of this interface, or provide one on your own to create objects.

Posted: Mon Dec 19, 2005 12:37 pm
by kushagra
I included ctimer.h

and created object CTimer timer;
then timer.setTime(0);
then timer.start(0);


errors

main.obj : error LNK2019: unresolved external symbol "public: static void __cdecl irr::os::Timer::initTimer(void)" (?initTimer@Timer@os@irr@@SAXXZ) referenced in function "public: __thiscall irr::CTimer::CTimer(void)" (??0CTimer@irr@@QAE@XZ)
main.obj : error LNK2019: unresolved external symbol "public: static unsigned int __cdecl irr::os::Timer::getRealTime(void)" (?getRealTime@Timer@os@irr@@SAIXZ) referenced in function "public: virtual unsigned int __thiscall irr::CTimer::getRealTime(void)" (?getRealTime@CTimer@irr@@UAEIXZ)
main.obj : error LNK2019: unresolved external symbol "public: static unsigned int __cdecl irr::os::Timer::getTime(void)" (?getTime@Timer@os@irr@@SAIXZ) referenced in function "public: virtual unsigned int __thiscall irr::CTimer::getTime(void)" (?getTime@CTimer@irr@@UAEIXZ)
main.obj : error LNK2019: unresolved external symbol "public: static void __cdecl irr::os::Timer::setTime(unsigned int)" (?setTime@Timer@os@irr@@SAXI@Z) referenced in function "public: virtual void __thiscall irr::CTimer::setTime(unsigned int)" (?setTime@CTimer@irr@@UAEXI@Z)
main.obj : error LNK2019: unresolved external symbol "public: static void __cdecl irr::os::Timer::stopTimer(void)" (?stopTimer@Timer@os@irr@@SAXXZ) referenced in function "public: virtual void __thiscall irr::CTimer::stop(void)" (?stop@CTimer@irr@@UAEXXZ)
main.obj : error LNK2019: unresolved external symbol "public: static void __cdecl irr::os::Timer::startTimer(void)" (?startTimer@Timer@os@irr@@SAXXZ) referenced in function "public: virtual void __thiscall irr::CTimer::start(void)" (?start@CTimer@irr@@UAEXXZ)
main.obj : error LNK2019: unresolved external symbol "public: static void __cdecl irr::os::Timer::setSpeed(float)" (?setSpeed@Timer@os@irr@@SAXM@Z) referenced in function "public: virtual void __thiscall irr::CTimer::setSpeed(float)" (?setSpeed@CTimer@irr@@UAEXM@Z)
main.obj : error LNK2019: unresolved external symbol "public: static float __cdecl irr::os::Timer::getSpeed(void)" (?getSpeed@Timer@os@irr@@SAMXZ) referenced in function "public: virtual float __thiscall irr::CTimer::getSpeed(void)" (?getSpeed@CTimer@irr@@UAEMXZ)
main.obj : error LNK2019: unresolved external symbol "public: static bool __cdecl irr::os::Timer::isStopped(void)" (?isStopped@Timer@os@irr@@SA_NXZ) referenced in function "public: virtual bool __thiscall irr::CTimer::isStopped(void)" (?isStopped@CTimer@irr@@UAE_NXZ)
main.obj : error LNK2019: unresolved external symbol "public: static void __cdecl irr::os::Timer::tick(void)" (?tick@Timer@os@irr@@SAXXZ) referenced in function "public: virtual void __thiscall irr::CTimer::tick(void)" (?tick@CTimer@irr@@UAEXXZ)
..\..\bin\Win32-VisualStudio\TerrainRendering.exe : fatal error LNK1120: 10 unresolved externals

I have done a simple thing

Posted: Mon Dec 19, 2005 12:55 pm
by Guest
1. ITimer* timer;
2. timer->setTime(0);
3. timer->start();

why the application crashes at point 2 and 3;
when i comment point 2 and 3 application works fine

works fine when commented
1. ITimer* timer;
2. //timer->setTime(0);
3. //timer->start();

what is the prob in creating a timer like this and in point 2 and 3