本文介绍了如何在本机类中注入C ++ / CLI基类ref类。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在本地其他课程中使用我的基础ref课程。



我的代码是这样的。



这是头文件中的第一个类:

I want to use my base ref class in native other class.

My code is like this.

This is first class in a header file:

#include "SecondNativeClass.h"
using namespace System;
namespace Vrp
{
    public ref class BaseClass
    {
    public:
        ~BaseClass()
        SecondNativeClass* mysec;
        DoSomething()
        {
         mysec = new SecondNativeClass();
        }
        .
        .
        .
    }
}





这是头文件中的第二类:



This is second class in a header file:

#include "AnotherNativeClass.h"
using namespace System;
namespace Vrp
{
    //class BaseClass;
    public class SecondNativeClass : public AnotherNativeClass
    {
    public:
        SecondNativeClass();

//        I have try this
        gcroot<BaseClass^> base;    //-> Returned errors

//        I tried that, but again errors;
        BaseClass* base;             //-> Returned errors

//        I tried that, but again errors;
        BaseClass^ base; //-> Returned errors

//        I tried that like as on MSDN page (Mix Types Safely and Correctly)
        msclr::auto_gcroot<BaseClass^> base; //-> Returned errors
        .
        .
        .
    }
}



如果我写class BaseClass;在SecondNativeClass之上...

这次我得到这个已经定义的BaseClass错误。



所有课程在同一名称空间但是编译器返回错误。



什么是正确定义的代码?

如何解决这个问题?

问候。


If I write "class BaseClass;" on top of SecondNativeClass...
This time I'm getting "this BaseClass already defined" error(s).

All classes in same namespace. But compiler returned errors.

What is right defined code?
How can I fix this problem?
Regards.

推荐答案


这篇关于如何在本机类中注入C ++ / CLI基类ref类。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-20 01:12