I will give out snippets of the production level code in my current project (regardless of the legal, moral, ethical, mathematical and political correctness of doing so).
The is a class having a function:
bu_mti_typ_e is an enum type.Code:
class bu_tde_mti_base:public some_class
{
...
public:
virtual inline void
set( const bu_mti_typ_e mti_typ )
}
There is another class:
The there is some code:Code:
class bu_tde_mti : public bu_tde_mti_base
{
...
}
This code is getting the following error:Code:bool
if_cup_intf::build_fld_070( some params,
const bu_tde_mti &mti,
more params)
{
...
mti.set( mti_netwk_mgmt_rqst_resp );
}
Two of us senior programmmers have tried doing something about it, to no avail. So definitely I would like help in solving this error.Code:Could not find match for bu_tde_mti_base::set(bu_mti_typ_e mti_typ) needed in function
if_cup_intf::build_fld_070(…)
But even before we start, can someone explain to me how the compiler pinpoints the exact level in the three-level hierarchy where it is expecting the function? It's denitely not psychic???
We are trying to compile this in a Sun box.
$uname -a
SunOS oma3s016 5.10 Generic_120011-14 sun4u sparc SUNW,Sun-Fire-880
$
the compiler is SunWSPro CC.
PLEAAASE HELP!
---------------------
I tried casting the parameter of the call to a const since I saw the const missing from what the compiler is trying to look for. This time it gave the same error but for a formal parameter of "const int". And what more, the set function IS overloaded for a const int formal argument..

