assert迭代器取消引用的类型

assert迭代器取消引用的类型

本文介绍了如何static_assert迭代器取消引用的类型?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

template <typename InputIterator>
MyFun(const InputIterator begin, const InputIterator end)
{
    // I want to static_assert that decltype(*begin) == SomeType
}

我该如何做?我认为 static_assert(std :: is_same< * InputIterator,SomeType>)但是当然不工作...

How can I do this? I'm thinking static_assert(std::is_same<*InputIterator,SomeType>) but that of course does not work...

推荐答案

static_assert(is_same<typename std::iterator_traits<InputIterator>::value_type,
               SomeType>::value, "");

这篇关于如何static_assert迭代器取消引用的类型?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-14 08:44