Bonjour tout le monde
je suis dans un context de c++/cli, mais mon problème se situe au niveau d'un pointeur...
je m'explique, j'ai un objet ManagedTest, qui contient un pointeur vers une autre objet NatifTest. NatifTest à une fonction : string GetString() (elle renvoie hello world). Mon objet ManagedTest à une fonction : string getNatifString() qui appel la fonction getString() de mon objet NatifTest.
Le problème est que lorsqu'on arrive au return de NatifTest.getString() le compilateur me sort acces violation memory ou un truc du style. Et je ne comprend pas trop bien pourquoi
Les bouts de class utile :
Le constructeur de ManagedTest :
La fonction getNatifString de ManagedTest :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 private : NatifTest *n; public: ManagedTest(void) { *n = NatifTest(); }
Le constructeur de NatifTest
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 String ^ ManagedTest::getMyNativeString() { string s = n->getMyString(); return cppStr2NetStr(s);//ceci est un fonction qui converti std::string vers System.String de .net, elle fonctionne parfaitement bien }
la fonction getString de NatifTest
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 NatifTest(void) { myString = "Hello World !"; myInt = 5; }
si quelqu'un pouvait me dire ce qui cloche, lorsque dans mon main j'appel la fonction monManagedTest.getNatifString(); ca m'enleverais une épine du pied
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 string NatifTest::getMyString(void) { return myString; }
Merci![]()
Partager