这是我的代码:
using namespace System;
using namespace System::Collections;
using namespace System::Collections::Generic;
namespace Tests {
ref class MyCollection : public IEnumerable<int> <----HERE!
例如,C#编译器将识别它们在这些命名空间中唯一的IEnumerable<T>
来自System::Collections::Generic
。为什么C ++ / CLI编译器不能这样做呢?除非我输入其全名或至少Generic::IEnumerable<int>
,否则它将无法识别它并将触发C2872错误:模糊符号。
我在这里错过了什么吗?
答案 0 :(得分:6)
鉴于你的命名空间,IEnumerable是不明确的
MS在System::Collections和System::Collections::Generic中定义了IEnumerable,你希望你的代码使用哪两个?