本文介绍了紧急:混合托管/非托管C ++的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 29岁程序员,3月因学历无情被辞! 你好, 我写了一个托管C ++类的Dll,其中包含一段代码,如 跟随liines。 这个代码在尝试创建一个新的非托管类时总是失败。 有人有解释吗? 请帮助 Pascal // Il s''agit du fichier DLL principal。 #include" stdafx.h" #include" TestEmbended.h" #using< mscorlib.dll> 使用命名空间系统; namespace TestEmbended { public __gc class Class1 { public: __nogc class CEmbeded { public: void toto(){}; }; CEmbeded * ce; Class1(无效) { ce = new CEmbeded(); //在这里执行 ce-> toto(); }; }; } 解决方案 尝试更改: CEmbeded * ce; to: CEmbeded __nogc * ce; 我没有看到你的声明有什么问题。什么例外 你得到了什么版本的VC ++? Hello,I write a Dll of managed C++ class that contains a piece of code like thefollowing liines.This code always fails when attempting to create a new not managed class.Someone has an explanation?Help pleasePascal// Il s''agit du fichier DLL principal.#include "stdafx.h"#include "TestEmbended.h"#using <mscorlib.dll>using namespace System;namespace TestEmbended{public __gc class Class1{public:__nogc class CEmbeded{public:void toto() {};};CEmbeded *ce;Class1(void){ce = new CEmbeded(); // Exeption herece->toto();};};} 解决方案Try changing:CEmbeded *ce;to:CEmbeded __nogc *ce;I dont see anything wrong with your declaration. what exception areyou getting and what version of the VC++ are you using? 这篇关于紧急:混合托管/非托管C ++的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
07-23 09:33