namespace sc_dt {
template <int W> class sc_bv { ... } //meaning systemc_bit_vector
}
Имеет нетипичный параметр шаблона.Когда вы создаете экземпляр объекта sc_bv
, вам нужно дать ему int
константу, такую как
sc_dt::sc_bv<2> foo;
Как вы можете видеть, она отличается от
typedef sc_dt::sc_bv<int> sc_vector;
Где вы ее далитип, а не значение.
Если вы знаете, какое значение вы хотите использовать для sc_vector
, тогда вы можете использовать
typedef sc_dt::sc_bv<the_value_that_you_want_to_use> sc_vector;
или если вы просто хотите, чтобы sc_vector
былоновое имя для шаблона класса, затем вы можете использовать шаблон псевдонима, например
template<int value>
using sc_vector = sc_dt::sc_bv<value>;
, который затем позволяет использовать sc_vector
, как
sc_vector<some_value> foo;