05. april 2005 - 15:24Der er
8 kommentarer og 1 løsning
dobbelt dereference pure virtual class
nu må jeg se om jeg kan forklare det her... i en abstract klasse K1 findes metoderne m1 og m2 efter at have instansieret et obj af en childklasse K1c så skriver vi en accessor metode
i denne metode findes konstruktionen int tid=m_device->m1()->m2(); m_device er en pointer til K1 eg K1 * m_device; njamen hva er'ed dog der sker her "m_device->m1()->m2()" -iøvrigt fejler windows med ulovlig handling/sidefejl bla bla.... ;)
gøgemøjet er fra irrlicht implem. af en tidskeeper class, men det er sådan set ligemeget
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
sagen er at jeg har stykket det her sammen af løse snippets og der er noget ..ged.. enten i de snippets eller min sammenstykning.. (begge er abs muligt:) Det fejler jo -grueligt i selv samme øjeblik metoden(e) kaldes
getTimer() retunerer en pointer til timer objektet ITimer (en del af core i hovedklassen) MEN.. det er en ren virtuel metode fra api: virtual ITimer* irr::IrrlichtDevice::getTimer ( ) [pure virtual] Returns a pointer to the ITimer object. With it the current Time can be received. m_device skulle være null fordi m_device=device; og device er null i dens default men null chec...hmm altså if(!m_device==0) m_Time = m_device->getTimer()->getTime(); -god idé!! crasher ikke, -men retunerer blot 0.. æv.. og dbl æv fordi med det null chek så -skulle- den jo 'arbejde' ..æv Husk at lægge 'svar' :)
nb skal lige høre om jeg har den her var=pt->m1()->m2() siger dereference af pointer til m1 retunerer en pointer til m2 som var så tildeles.. eg vi kunne skrive * tmvar=pt->m1(); int var = tmvar->m2(); ?
nje -ka godt se at det rant ikke er så informativt:) løst, nej -men jeg tror at det er en helt gal vej. Der kommer sidefejl straks metoden updateTimer prøver med m_DeltaTime = m_device->getTimer()->getTime() - m_Time; Det er simpelt hen ikke en lovlig snippet. -fint at forståelsen er det (i det mindste:) Jeg tror at jeg dropper dén timer løsning og ser på noget med clock i ren cpp.. ialtfald tilbage til tegnebrættet- husk at lægge 'svar' mvh + tak.
så lukker jeg for ikke at have uesvarede sp på serberen. Tak til alle.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.