C++ 为SystemC模块定义自定义构造函数
我有一个SystemC模块,如下所示,我想将“映射”传递给构造函数。我怎么做C++ 为SystemC模块定义自定义构造函数,c++,systemc,C++,Systemc,我有一个SystemC模块,如下所示,我想将“映射”传递给构造函数。我怎么做 struct Detector: sc_module { map <int,int> int_map; SC_CTOR(Detector) { for (int i = 0 ; i<10; i++) { int_map[i]= map[i][0]; } } }; 结构检测器:sc_模块 { 地图国际
struct Detector: sc_module
{
map <int,int> int_map;
SC_CTOR(Detector)
{
for (int i = 0 ; i<10; i++)
{
int_map[i]= map[i][0];
}
}
};
结构检测器:sc_模块
{
地图国际地图;
SC检测器(检测器)
{
对于(int i=0;i来自SystemC语言参考手册向构造函数中添加参数是否足够?这似乎是最简单的解决方案,但太简单了-有任何东西阻止您这样做吗?我将使用普通构造函数,而不是“SC_CTOR”。正如anatolyg所说,将参数传递给该构造函数。我想您仍然需要在代码中添加“SC_HAS_PROCESS(Detector)”。谢谢各位。是的,使用普通构造函数是有效的谢谢你们Darry!它有效。我如何对2d数组执行相同的操作。因为我有4个不同维度的数组,但第二维度固定为2。我正在尝试使用4个不同的2d数组(uint64类型)通过构造函数并在运行时使用它,但是我得到一个错误,即维度应该是固定的,不能访问数组的值。我使用C++ 98。我不清楚你在这里问什么。2D数组使用什么数据类型?我建议使用STD::vector。如果你喜欢,也许发布一个分隔符。用一个示例代码片段来提问。它听起来像是一个纯C++问题。