gpt4 book ai didi

c++ - systemc 构造函数初始化失败

转载 作者:行者123 更新时间:2023-11-27 22:48:52 31 4
gpt4 key购买 nike

#ifndef RAM_H
#define RAM_H
#include <systemc.h>


SC_MODULE(ram) {

void ram_proc();

SC_HAS_PROCESS(ram);

private:
sc_clock clock;
};

#endif

然后在 ram.cpp 我有以下代码

 #include "ram.h"

ram::ram(sc_module_name name_): clock("clock",1,SC_NS) {std::cout<<"I am in clock "<<std::endl;}

{ //the error is occurring hier

SC_THREAD(ram_proc);

}

void ram::ram_proc () {
std::cout<<"I am in method ram_proc "<<std::endl;
}

问题是我收到这个错误:

expected unqualified-id before ‘{’ token {

最佳答案

修复代码的缩进和换行

void ram::ram(sc_module_name name_): clock("clock",1,SC_NS) 
{
std::cout<<"I am in clock "<<std::endl;
} // <- constructor ends here

{ //the error is occurring hier
SC_THREAD(ram_proc);
}

如您所见,您有两个代码块。第一个 block 是构造函数体。第二个 block 没有链接到任何东西。如果您希望包含 SC_THREAD(ram_proc); 的 block 位于构造函数中,那么您需要

void ram::ram(sc_module_name name_): clock("clock",1,SC_NS) 
{
std::cout<<"I am in clock "<<std::endl;
SC_THREAD(ram_proc);
}

关于c++ - systemc 构造函数初始化失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39880894/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com