关于一个模板的写法,该如何解决
关于一个模板的写法
原代码是:
现在要求数组长度用模板写,而以下方式肯定编译不过
参考老外写的依然不行
求写法,谢谢
------解决方案--------------------
老外写的那个可以,只不过你用错了,那个宏应该这样定义:
#define HISTGRAM( x ) __HistGram< ( x ) >::_type
原代码是:
typedef unsigned char HistGram[256];
HistGram var;
//...
现在要求数组长度用模板写,而以下方式肯定编译不过
template<size_t N>
typedef unsigned char HistGram[N];
参考老外写的依然不行
template<size_t N>
struct __HistGram {
typedef unsigned char _type[N];
}; // 这是老外的
#define __HistGram<(N)>::_type HistGram<(N)> // 这是我加的
求写法,谢谢
------解决方案--------------------
老外写的那个可以,只不过你用错了,那个宏应该这样定义:
#define HISTGRAM( x ) __HistGram< ( x ) >::_type