任何人都可以让我知道实现这一目标的最佳方法.
template<typename ARGUMENT> void get_result(ARGUMENT &ag) { // arg can be a single object of a particular object or list of objects of that particular class. //rest }
有没有办法可以检查& ag是单个对象还是对象列表.此外,使用给定的模板界面.
如果答案是通过类接口以某种方式通过模板规范并不重要.唯一的问题是我不想指定对象类型或列表类型.
防爆. ag = int或ag = list
CB
解决方法
你可以消除一些类型特征的歧义:
#include <type_traits> template<typename T> T get_result(T arg) { return detail::get_result(arg,typename std::is_arithmetic<T>::type() ); } namespace detail { template<typename T> T get_result(T arg,std::false_type /* dummy */) { } template<typename T> T get_result(T arg,std::true_type /* dummy */) {} }
见here
原文地址:https://www.jb51.cc/c/111523.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。