matteodc Posted November 25, 2014 Report Share Posted November 25, 2014 Hello, I have two classes in two different files: class B : public uvm_component { ... do_something(); ... } class A : public uvm_component { .... SetCallback(boost::bind(&B::do_something, *pB, _1, _2)); ... } When I try to compile this, I have this error: "/home/cadence/UVM_ML-1.3.4.3/ml/frameworks/uvm/sc/base/uvm_component.h", line 60: error: "sc_core::sc_module::sc_module(const sc_core::sc_module &)" (declared at line 398 of "$CDSROOT/tools/systemc/include_pch/64bi t/sysc/kernel/sc_module.h") is inaccessible class uvm_component : public sc_core::sc_module, public uvm_typed { ^ detected during: implicit generation of "uvm::uvm_component::uvm_component(const uvm::uvm_component &)" at line 14 of implicit generation of "collector::collector(const collector &)" at line 14 of Any idea? Thanks Quote Link to comment Share on other sites More sharing options...
vitalyya Posted November 25, 2014 Report Share Posted November 25, 2014 Hi, It seems that you should pass pB as the actual argument (not *pB): SetCallback(boost::bind(&B::do_something, *pB, _1, _2)); It think it should work as "this" in do_something() (i.e. pointer not a reference). Regards, Vitaly Quote Link to comment Share on other sites More sharing options...
matteodc Posted November 25, 2014 Author Report Share Posted November 25, 2014 Hi Vitaly, it works fine now, thanks. Regards Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.