模板结构成员的模板参数数量错误(1 应该是 3)
Wrong number of template arguments for member of template struct (1 should be 3)
我有一个这样的结构
namespace Binning_ {
template <typename data_type, uint32_t number_of_bins, bool uses_integrals>
struct Binner {
void setup();
/* ... */
现在我要实现它。当然我希望我必须以某种方式实现它
namespace Binning_ {
template <typename data_type, uint32_t number_of_bins, bool uses_integrals>
void Binner<typename data_type, uint32_t number_of_bins, bool uses_integrals>::setup() {
/* ... */
}
编译器一直告诉我模板参数的数量错误。
/home/udo/dev/libraries/dcf77/dcf77.cpp:305:81: error: wrong number of template arguments (1, should be 3)
void Binner<typename data_type, uint32_t number_of_bins, bool uses_integrals>::setup() {
^
/home/udo/dev/libraries/dcf77/dcf77.cpp:259:12: error: provided for 'template<class data_type, long unsigned int number_of_bins, bool uses_integrals> struct Binning_::Binner'
struct Binner {
^
但是我不明白。当然,我必须传递 3 个模板参数。但是为什么编译器只计数1?
您不能重复 Binner
的参数列表中的类型:
template <typename data_type, uint32_t number_of_bins, bool uses_integrals>
void Binner<data_type, number_of_bins, uses_integrals>::setup() {
/* ... */
}
应该可以。
我有一个这样的结构
namespace Binning_ {
template <typename data_type, uint32_t number_of_bins, bool uses_integrals>
struct Binner {
void setup();
/* ... */
现在我要实现它。当然我希望我必须以某种方式实现它
namespace Binning_ {
template <typename data_type, uint32_t number_of_bins, bool uses_integrals>
void Binner<typename data_type, uint32_t number_of_bins, bool uses_integrals>::setup() {
/* ... */
}
编译器一直告诉我模板参数的数量错误。
/home/udo/dev/libraries/dcf77/dcf77.cpp:305:81: error: wrong number of template arguments (1, should be 3)
void Binner<typename data_type, uint32_t number_of_bins, bool uses_integrals>::setup() {
^
/home/udo/dev/libraries/dcf77/dcf77.cpp:259:12: error: provided for 'template<class data_type, long unsigned int number_of_bins, bool uses_integrals> struct Binning_::Binner'
struct Binner {
^
但是我不明白。当然,我必须传递 3 个模板参数。但是为什么编译器只计数1?
您不能重复 Binner
的参数列表中的类型:
template <typename data_type, uint32_t number_of_bins, bool uses_integrals>
void Binner<data_type, number_of_bins, uses_integrals>::setup() {
/* ... */
}
应该可以。