Jump to content

problem with constructor

Recommended Posts

I wanna take an 4digit integer value and make the equivalent BCD value. I try this code but it has an error at red line
error: 'decimal' : no appropriate default constructor available

it mean the class constructor? is the constructor of  class decimal wrong?

class decimal
sc_int<4> dec0;
sc_int<4> dec1;
sc_int<4> dec2;
sc_int<4> dec3;
decimal(sc_int<4> d0,sc_int<4> d1,sc_int<4> d2,sc_int<4> d3)
SC_MODULE (seprate_digit)
sc_in <sc_int<16>> in;
sc_in <bool> clk;
sc_out <decimal> d;
decimal dtmp;
     SC_CTOR (seprate_digit)
           sensitive << in;
     void process3()




Share this post

Link to post
Share on other sites

Your question is more C++ than SystemC-related. I suggest you to read a good introduction book to C++!


Your class decimal is not default constructible, as you have defined a constructor, which takes 4 arguments. Either provide a also default destructor without any arguments or provide default values to all four of its current arguments.


In your module seprate_digit, you should also initialize all member variables via the initializer list of the constructor to give names to the ports in, clk, and d as well as maybe initialize you dtmp.

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now