Denna delen av 99 uppdateras inte längre utan har arkiverats inför framtiden som ett museum.
Här kan du läsa mer om varför.
Mac-nyheter hittar du på Macradion.com och forumet hittar du via Applebubblan.

Ärvda klasser och trådar

Tråden skapades och har fått 4 svar. Det senaste inlägget skrevs .
1

Dags att fråga en C++ guru igen... Jag har en klass som startar en tråd i sin konstruktor, tråden i sin tur ska med jämna mellanrum sedan ändra i data ärvd av en anna klass, därför skickar jag med pekaren this till tråden och så långt är allt bra. Tråden klarar att komma åt medlemsfunktioner i den översta klassen men när den försöker röra en medlemsfunktion som är ärvd så stoppar ZeroLink programmet. Koden ser ni här och problemet uppstår vid denna rad: string s = getText();.

void GInputText::goAround()
{

bool there = false;
while (true)
{

if (getStat())
{

if (there)
{

string s = getText();
s = s.substr(0, s.size() - 1);
setText(s);
there = false;

}
else
{

string s = getText();
s = s + '_';
setText(s);
there = true;

}

}

else
{

if (there)
{

string s = getText();
s = s.substr(0, s.size() - 1);
setText(s);
there = false;

}

}

timespec t1, t2;
t1.tv_sec = 0;
t1.tv_nsec = blink * 1000000;
nanosleep(&t1, &t2);
}

}

Någon aning om hur jag skulle kunna komma åt den där funktionen som inte fungerar??

Senast redigerat 2004-07-06 08:45
  • Medlem
  • 2004-07-06 00:17

det låter som ett intressant problem, men koden du skickade med inlägget säger inte mig någonting om trådar eller ärvda medlemmar. kan du inte skicka lite mer kod som kan vara relevant?

Jag drar tillbaka frågan tills vidare. Vid närmare undersöknign så är det inte bara i den tråden som jag inte kommer åt den ärvda klassens funktioner. Jag har väl troligtvis gjort något litet fel som kompilatorn inte reagerar på...

Tja nog var det enkelt alltid. Så enkelt att jag nästan skäms lite över att jag postade här. Jag hade helt enkelt glömt att skriva funktionen getText().

Ursprungligen av Jonas.N:

Tja nog var det enkelt alltid. Så enkelt att jag nästan skäms lite över att jag postade här. Jag hade helt enkelt glömt att skriva funktionen getText().

Det är lustigt att sådana uppenbara fel ofta är de svåraste att upptäcka...

1
Bevaka tråden