实现具有参数限制的模板时未定义的符号

时间:2018-02-05 09:04:21

标签: c++ templates

我正在编写一个轻量级类来处理csv格式文件。其中一个函数是<body class="get-scroll"> <div class="stuff"> ... </div> <iframe> <script> //do some magic </script> </iframe> <div class="other-stuff"> ... </div> </body> ,它获取特定列的总和。它接收数字类型作为参数,并返回该类型的总和。所以我用模板风格写它。我是这样做的:

sum

它运行良好但是当我尝试将实现部分移动到#define IS_NUMERIC_VALUE ( std::is_same<T,int>::value || std::is_same<T,long>::value || std::is_same<T,double>::value || std::is_same<T,float>::value || std::is_same<T,size_t>::value ) template < class T, class = typename std::enable_if< IS_NUMERIC_VALUE >::type > int sum(T& get_sum); template < class T, class > int sum(T& get_sum) { int iRet {1}; //doing sth here return iRet; } 文件时,出现了未定义符号xxx 的错误。我不能把它放在一个文件中因为我有许多其他类似的文件。有什么问题?

0 个答案:

没有答案