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:
1
2
3
4
5
6
7
8 private : NatifTest *n; public: ManagedTest(void) { *n = NatifTest(); }
Le constructeur de NatifTestCode:
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 NatifTestCode:
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 piedCode:
1
2
3
4 string NatifTest::getMyString(void) { return myString; }
Merci :?