【发布时间】:2011-08-27 06:47:08
【问题描述】:
请记住,此代码在 C# 中有效,但在 VC++.net 中无效(真气)。我想知道我的错误在哪里。
给定代码:
public interface class iTest
{
public:
generic <typename T>
virtual void AddCriteriaList(List<T> ^CriterionList);
};
generic <typename Q>
public ref class IUseInterface : iTest
{
public:
generic <typename T>
virtual void AddCriteriaList(List<T> ^CriterionList)
{
}
};
我收到错误错误 C3766:“IUseInterface”必须为接口方法“void iTest::AddCriteriaList(System::Collections::Generic::List ^)”提供实现
奇怪的是,如果我删除 IUseInterface 上的通用约束 (Q),错误就会消失。我不明白如何让我的类泛型与特定函数上的泛型有任何关系。
有什么想法吗?谢谢
【问题讨论】:
-
完全不同的语言...
-
它们非常相似,在这种情况下应该遵循相同的编译规则。
标签: c# .net visual-c++ generics interface