Ik ben bezig met het maken van een dubbel gelinkte lijst. Als ik een woord wil invoegen en wil aangeven waar de pointer heen moet wijzen, geeft de compiler (C++ Builder 5) een foutmelding, nl:
E2451: Undefined symbol 'pPrevious'
op deze regel "pCurrentNode->pNext->pPrevious = pTempNode;"
In de help kan ik niets vinden, ik hoop dat iemand mij hierbij kan helpen.
Hieronder staat de betreffende source:
Ik gebruik de 'malloc' omdat dit door de leraar gewenst is (dit is een opdracht voor school).
(ps. alleen php syntax, omdat c/c++/cpp niet werkte)
ps. sorry voor het vern*ken van de layout
E2451: Undefined symbol 'pPrevious'
op deze regel "pCurrentNode->pNext->pPrevious = pTempNode;"
In de help kan ik niets vinden, ik hoop dat iemand mij hierbij kan helpen.
Hieronder staat de betreffende source:
C++:
1
2
3
4
5
6
7
| typedef struct Nodes { struct WordList *pPrevious; char *pWord; struct WordList *pNext; } Nodes; Nodes *pCurrentNode; |
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| void WordStore_WordInsert (char *pcWord) { Nodes *pTempNode; pTempNode = (Nodes *)malloc(sizeof(Nodes)); // Reserveer voldoende geheugen if (iNodes == 0) { // Als aantal woorden gelijk is aan 0 // Make Circular list of 1 item. pTempNode->pPrevious = pTempNode; // Ingevoerd woordt zijn vorige is Ingevoerd woord (wijst naar zichzelf) pTempNode->pNext = pTempNode; // Ingevoerd woord zijn volgende is Ingevoerd woord (wijst naar zichzelf) pCurrentNode = pTempNode; // Huidig woord wordt zojuist ingevoerde woord. } // Aantal woorden is groter of ongelijk aan 0. pTempNode->pWord = pcWord; // Vul woord. pTempNode->pPrevious = pCurrentNode; // Ingevoerd woord zijn vorige woord wijst naar huidig woord. pTempNode->pNext = pCurrentNode->pNext; // Ingevoerd woord zijn volgende is huidig woord zijn volgende pCurrentNode->pNext->pPrevious = pTempNode; // Huidig woord's volgende woord zijn vorige wijst naar zojuist ingevoerde woord. pCurrentNode->pNext = pTempNode; // Huidig woord's volgende woord wordt zojuist ingevoerde woord. pCurrentNode = pTempNode; // Huidig woord wordt zojuist ingevoerde woord. iNodes++; // Verhoog aantal Nodes met 1. } |
Ik gebruik de 'malloc' omdat dit door de leraar gewenst is (dit is een opdracht voor school).
(ps. alleen php syntax, omdat c/c++/cpp niet werkte)
ps. sorry voor het vern*ken van de layout
[ Voor 24% gewijzigd door cenix op 08-10-2003 19:04 . Reden: Aangepast na post van oisyn ]