Complex data_type in system verilog , DPI

I need to pass complex variable to C++ function from System verilog ,
Do we have complex data type in system verilog or some one know how can we do it ?

Thanks
Senkadir

It depends what you mean by a “complex” variable. If you mean a class, then no, the DPI is only currently defined for C compatible data types. But any class in C++ is eventually broken down into C compatible class members. So you can always have your function construct a class object and copy the data to the class members.