我有一个非常简单的函数,它只会返回 QVariant 的值。它是返回私有 QVariant 数据值的类的一部分:
template <typename T>
QVariantReference<T>::operator T() const
{
return this->data.value<T>();
}
如果我使用 MSVC2013 编译器进行编译,它可以正常工作,但如果我尝试使用 MinGW 执行此操作,则会收到以下错误:
C:\C++Libraries\Qt\workplace\QXmlDataSaver\QXmlDataSaver\qxmldatasaver.h:34: Fehler: '>' 标记之前的预期主表达式
return this->data.value<T>();
我已经检查了 QVariant-Documentation 但没有关于编译器关于此函数的提示。我可以QVariant::value<T>()
毫无问题地调用非模板函数。
任何人都知道原因可能是什么?或者这是 MinGW 的正常行为?谢谢你的帮助。