Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为SystemC模块定义自定义构造函数_C++_Systemc - Fatal编程技术网

C++ 为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_模块 { 地图国际

我有一个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_模块 { 地图国际地图; 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++问题。