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); };
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ä.
Se valitti niistä operandeista. Se
//... new WINDOW;
oli siinä väärin.
Sain korjattua. Kiitos avusta!
Aihe on jo aika vanha, joten et voi enää vastata siihen.