我是C++的新手,如果这很明显,我很抱歉,但我无法访问类型Windows::UI::Xaml::Controls::ItemCollection上的属性"Size"。
这是我的代码:
Windows::UI::Xaml::Controls::ItemCollection& items = Items(); // Items in a property of Windows::UI::Xaml::Controls::GridView which my class derives from
auto count = items.Size(); // -> build error
错误为"int::impl::consumer_Windows_Foundation_Collections_IVector::Size":返回"auto"的函数在定义之前不能使用
我知道ItemCollection有一个Size属性,那么为什么编译器抱怨它没有定义呢。
如有任何帮助,将不胜感激
感谢
您忘记包含一个提供模板定义的头文件,可能是<winrt/Windows.Foundation.Collections.h
。这个特殊的编译器错误曾经是一个链接器错误,很难解释。
Raymond Chen在博客中谈到了C++/WinRT中为将这个链接器错误"升级"为编译器错误而进行的更改:为什么我的C++/WinRTProject会出现形式为"consume_Something:返回"auto"的函数在定义之前不能使用"的错误?