Ik heb het volgende probleem wat ik heb weten te reduceren tot de volgende code:
Ik wil graag binnen een functie een waarde toekennen aan een pointer variabele die ik via 'call by reference' meegegeven heb aan deze functie.
Nu was mijn idee om geheugen te alloceren in deze functie en de inhoud van de megegeven pointer variabele te laten verwijzen naar dit geheugenblok.
Als ik echter hierna de inhoud probeer af te drukken, word de waarde (null) afgedrukt.
Ik zal ergens wel iets fout doen, maar ik kom er niet uit. Ik hoop dat er iemand is die de oplossing heeft voor dit probleem.
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| void PointerTest(OLECHAR **Result) { CString cstrTest = "Testje"; OLECHAR *TempResult = new OLECHAR(); TempResult = cstrTest.AllocSysString(); Result = &TempResult; } int main() { void PointerTest(OLECHAR **Result); OLECHAR *pszTest = new OLECHAR(); PointerTest(&pszTest); printf("%S", *pszTest); return 0; } |
Ik wil graag binnen een functie een waarde toekennen aan een pointer variabele die ik via 'call by reference' meegegeven heb aan deze functie.
Nu was mijn idee om geheugen te alloceren in deze functie en de inhoud van de megegeven pointer variabele te laten verwijzen naar dit geheugenblok.
Als ik echter hierna de inhoud probeer af te drukken, word de waarde (null) afgedrukt.
Ik zal ergens wel iets fout doen, maar ik kom er niet uit. Ik hoop dat er iemand is die de oplossing heeft voor dit probleem.
[ Voor 11% gewijzigd door curry684 op 28-09-2003 12:04 . Reden: En [code] tags zijn ook leuk ]
Programming is like having sex: One little mistake and you have to support it for the rest of your life.