'unchecked_mismatch' : 不是 'stdext 的成员

'unchecked_mismatch' : is not a member of 'stdext

本文关键字:stdext 成员 不是 mismatch unchecked      更新时间:2023-10-16

我很长一段时间以来一直使用Visual Studio 2005。以下电话从未失败。

stdext :: unchecked_mismatch

但是,一旦我将其升级到Visual Studio 2012,相同的呼叫会导致错误

错误c2039:'unchecked_mismatch':不是'stdext'的成员错误c3861:'unchecked_mismatch':找不到标识符

我想知道它是否已移至其他图书馆,还是不再支持它。

预先感谢。

我想知道它是否已移至其他库或不再支持。

好吧,unchecked_mismatch不再是Visual Studio stdext库的一部分。因此,它不再支持。

我发现可以在

中找到对类似方法'不匹配'的呼叫
#include <algorithm>

然后,将通过std ::不匹配来调用"不匹配"

将进一步检查它是否完全兼容。

您必须使用'_msc_ver> = 1600'检查并使用'stdext :: make_unchecked_array_iterator'这样:

#if defined(_STDEXT_BEGIN) && !(defined(_MSC_VER) && (_MSC_VER < 1400 || _MSC_VER >= 1600)) && !defined(_STLPORT_VERSION)
    stdext::unchecked_mismatch
#else
    std::mismatch
#endif
#if _MSC_VER >= 1600
    (stdext::make_unchecked_array_iterator(scan)+3, stdext::make_unchecked_array_iterator(scanEnd), stdext::make_unchecked_array_iterator(match)+3).first - stdext::make_unchecked_array_iterator(scan));
#else
    (scan+3, scanEnd, match+3).first - scan);
#endif