Original Post
Hi, I just came across a strange error, and I'd like some advice about it. I have the following classes : When I compile, I get the following error : error C3767: 'IEntity::IEntity': candidate function(s) not accessible. (This error is reported for the Mesh::Mesh(MDagPath *) constructor) Well, I don't really understand why ... I used this kind of constructor inheritance multiple times in the past, and it always worked ... And the strangest part is that the following code compiles without any problem : I just changed the pointer to void * instead of MDagPath * (I typecast it inside the IEntity constructor) And now I don't have the error, it compiles, and run. Why is that ??? What's the difference between MDagPath * and void * ???? For the moment, I'll go with the void * solution, but I would really really like to know what's happening here. So if you have an idea ... :)
public ref class IEntity : public System::Windows::Forms::UserControl
{
public: IEntity(void); // default constructor for the designer
public: IEntity(MDagPath * dagPath); // the constructor I need
// the rest of the class (don't think it's useful for my problem)
};
public ref class Mesh : public IEntity
{
public: Mesh(void);
public: Mesh(MDagPath * dagPath) : IEntity(dagPath) { }
};
public ref class IEntity : public System::Windows::Forms::UserControl
{
public: IEntity(void);
public: IEntity(void * dagPath);
};
public ref class Mesh : public IEntity
{
public: Mesh(void);
public: Mesh(void * dagPath) : IEntity(dagPath) {}
};