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

标签 c++ gcc systemc

我正在研究系统 C。在类里面

首先我声明了一个整数:

int G_WIDTH;

然后我在 :

中使用 G_WIDTH
sc_in < sc_lv <G_WIDTH> > a;

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

Expression <*sc_in < sc_lv > a;*> must have a constant value.

当我使用时:

sc_in < sc_lv <8> > a;

它工作正常。

谁能帮我解决这个问题?

最佳答案

这是因为 G_WIDTH 不是常量。如果您将 G_WIDTH 设置为常量,它应该可以工作:

const int G_WIDTH = 8;

关于c++ - 参数化 sc_lv 时报告错误(表达式必须具有常量值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12778296/

相关文章:

c++ - 将行编辑的输入存储到字符串 qt

c++ - 二维动态数组的值在循环迭代期间被损坏

c - 使用通过 MacPorts 安装的 GD2 库通过 GCC 编译 C 程序的问题

C++ 错误 : use of deleted function during constructor call of custom class

visual-studio-2013 - 为 VS2013 安装 SystemC

c++ - 在 GDI+ 的 Canvas 上绘制图像时如何获取单词的长度和高度

c++ - 数组声明和大小初始化(C++)

c++ - 从gdb中模板类的成员函数打印静态变量

c++ - 使用 gcc/g++ 使 C++ 程序在没有窗口的情况下运行?

c++ - 在 SystemC 中检查信号是否有效的最佳方法是什么?