我正在 VC2010 中编写一个托管 DLL(即为 VC++ DLL 项目启用了 /CLR)。以下代码无法编译:
System::Collections::Generic::List<int>^ my_list;
for each(auto elem in my_list)
{
}
它引发错误C3539:“auto”:模板参数不能是包含“auto”的类型。
我不明白原因。我尝试在 VS2012 中编译相同的内容,它会引发相同的错误(这不是适当的错误)。
为什么编译器无法推断出集合的类型?相同类型的代码可以在带有var
关键字的 C# 中工作。