tmpValue.init(tmpValue); // her er fejlen et sted }
int main() {
}
---
g++ siger, at koden indeholder en fejl test.cpp: In member function »void test2::testFunction()«: test.cpp:26: Fejl: brug af elementet »init« i »tmpValue«, som er fra ikke-cass-typen »test1*«
tmpValue er en pointer, så for at kalde dens init skal du bruge -> og ikke . Argumentet til init er en reference, tmpvalue er stadig en pointer, så det er *tmpvalue der skal bruges som argument. tmpvalue peger ikke på noget så du kan ikke kalde funktioner på den.
Du kan så lave: void test2::testFunction() { test1 *tmpValue = new test1; tmpValue->init(*tmpValue); delete tmpValue; }
Eller: void test2::testFunction() { test1 tmpValue; tmpValue.init(tmpValue); // her er fejlen et sted }
det jeg vil komme til at lave ... er en slaks array - hvor test1 indeholder fire forskellige værdier - plus - en pointer på det næste element.
test2 skal så arbejde med array-værdierne - og indeholder en variable f.eks.: valueCounter og en pointer på det første value --- bare som en lille forklaring til - hvad jeg vil ud på at lave. mit problem er, at hvis jeg har vældig-store arrays - og vil til at addere en værdi, så skal jeg til at kopere hele arrayet i et tmpArray - og så med new bla = new array[xyz] ... det er methoden man bruger mest i c++ hvis jeg ser det rigtigt. men det en methode jeg personligt ikke syndes så meget om. så derfor ville jeg teste, om det er muligt på en anden methode :-)
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.