在参数化sc_lv时报告错误(表达式必须具有常量值)

时间:2012-10-08 08:54:20

标签: c++ gcc systemc

我正在研究系统C.在课堂上

首先我声明了一个整数:

int G_WIDTH;

然后我在G_WIDTH中使用:

sc_in < sc_lv <G_WIDTH> > a;

当我试图模拟它时。报告了以下错误:

  

表达式&lt; * sc_in&lt; sc_lv&gt;一个* GT;必须有一个常数   值。

当我使用时:

sc_in < sc_lv <8> > a;

工作正常。

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

这是因为G_WIDTH不是常数。如果你使G_WIDTH保持不变,它应该有效:

const int G_WIDTH = 8;