1

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 の通常の動作ですか? ご協力いただきありがとうございます。

4

1 に答える 1