Fix compilation with ICC 13.1: the MSVC 2005 & 2008 code is bad

qvariant_p.h(226): error: name followed by "::" must be a class or namespace name
          template<class C> static Yes test(char (*)[(&C::isNull == 0) + 1]);
                                                       ^

Change-Id: I42eef44d46ca0fb7aac8f82150e917c4fb912b15
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
This commit is contained in:
Thiago Macieira 2013-06-25 11:32:42 -07:00 committed by The Qt Project
parent 6086ff01f5
commit 9e893492dd

View File

@ -224,7 +224,7 @@ class QVariantIsNull
public:
static const bool Value = (sizeof(test<T>(0)) == sizeof(Yes));
};
#elif defined(Q_CC_MSVC) && _MSC_VER >= 1400 // MSVC 2005, 2008 version: no decltype, but 'sealed' classes (>=2010 has decltype)
#elif defined(Q_CC_MSVC) && _MSC_VER >= 1400 && !defined(Q_CC_INTEL) // MSVC 2005, 2008 version: no decltype, but 'sealed' classes (>=2010 has decltype)
template<typename T>
class HasIsNullMethod {
struct Yes { char unused[1]; };