我有一个标题,如下所示:
namespace Dummy
{
ref class ISYSession {};
namespace Afw
{
/// <summary>Sammlung von AFW-Utility-Methoden</summary>
public ref class AfwUtility
{
public:
static void CopyAFWParamsToIDictionary(AFWParams ¶meterIn, System::Collections::IDictionary^ parameterOut);
static AFWParams* CopyIDictionaryToAFWParams(System::Collections::IDictionary^ dictionary);
static void ShowExceptionLog(System::String^ sessionId);
static void ShowStatementLog(System::String^ sessionId);
static Dummy::ISYSession^ GetSession(AFWAppClass *acl);
};
}
}
如果我不使用引用类的标头,我就无法在同一个程序集中使用它。但是有了这个标头,我的代码就无法再编译了。
这是前两个错误:
c:\develop...\xy.dll : 警告 C4944: 'ISYSession' : Das Symbol kann nicht aus 'c:\develop...\xy.dll' importiert werden: 'Dummy::ISYSession' ist bereits im aktuellen Bereich vorhanden。
(英语:“'Dummy::ISYSession':无法从 xy.dll 导入符号:Dummy::ISYSession 已存在于当前作用域中。”)
错误 C3699:“^”:Diese Referenzierung kann nicht für den Typ“Schleupen::CS::SY::ISYSession”verwendet werden。
(英语:“此引用不能用于类型‘Dummy::ISYSession’。”)
这应该如何运作?对我来说,编译器似乎认为 ISYSession ref 类是在同一个程序集中定义的(但事实并非如此,它是在不同的 .NET DLL 中定义的)。
ref class ISYSession {};
这不是前向声明,而是没有成员的类的实际类定义。使固定:
ref class ISYSession;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)