How?
以下内容无效:
delegate MyDelegate;
ref class MyDelegate;
delegate void MyDelegate;
申报工作如下:
public delegate void MyDelegate(Object ^sender, MyArgs ^args);
但使用它作为前向声明给了我
error C3756: 'MyNameSpace::MyDelegate': delegate definition conflicts with an existing symbol
这项工作是为我而做的;
stdafx.h:
public delegate void Handler(bool isit);
cli1.cpp:
#include "stdafx.h"
using namespace System;
namespace MY {
namespace Namespace
{
public ref class Objeks
{
public: Objeks() {}
public: event Handler^ OnHandler;
public: void __clrcall Runner(bool checkit)
{
if(&Objeks::OnHandler != nullptr)
OnHandler(checkit);
}
};
}
}
我在很大程度上保留了默认的 VS 2010 C++/CLI 项目,我希望如果您遇到前向声明的麻烦,则可以使用 using namespace System;也会进入标题:)
也许您不想使用事件?但结构似乎很简单。
我在考虑后添加了错误检查(使用谓词和 Array::FindAll() 编译 C++/CLI 委托调用时出错 https://stackoverflow.com/questions/649633/error-compiling-c-cli-delegate-call).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)