Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: [Visual C++] = -operaattori

ErroR++ [03.09.2011 19:43:31]

#

Jostain ihme syystä en millään saa c++:saa hyväksymään tuota operaattoria.

//WINDOW.cpp void WINDOWSYSTEM::RemoveWindow(long hWnd)
WINDOWSYSTEM::WINS[hWnd] = new WINDOW;
//virhe tulee tuossa = -merkissä

//WINDOW.h
class WINDOW
{
//...
};
//...
class WINDOWSYSTEM
{
//...
public:
	WINDOW WINS[1000000];
//...
private:
void RemoveWindow(long hWnd);
};

Metabolix [05.09.2011 17:44:04]

#

Jos WINDOWSYSTEM::WINS esiintyy ei-staattisessa jäsenfunktiossa, siinä on WINDOWSYSTEM:: liikaa. Lue C++-oppaasta, miten luokkia käytetään.

Lisäksi tietotyyppi on väärä, koska taulukossa on ikkunoita ja new-operaattori palauttaa osoittimen. Lue C++-oppaasta, miten osoittimet ja dynaaminen muistinvaraus toimivat. Nythän siis WINDOWSYSTEM-luokka sisältää 1000000 ikkunaa, jotka luodaan automaattisesti heti alussa.

Virhekään ei tule "=-merkissä" vaan jossain muussa asiassa, jonka se kääntäjä kyllä kertoo, jos vain viitsit lukea.

Yleisesti ottaen kannattaisi lukea esimerkiksi opasta aivan järjestyksessä ja huolellisesti, jotta mitään tärkeää ei jäisi välistä.

ErroR++ [06.09.2011 17:51:28]

#

Se valitti niistä operandeista. Se

//...
 new WINDOW;

oli siinä väärin.
Sain korjattua. Kiitos avusta!

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta