異なる名前空間で定義された 2 つのクラスがあります。
//--==file1.hpp==--
namespace n1{
class x1 {
//.....
};
};
//--==file2.hpp==--
namespace n2{
class x1: public n1::x1{
//.....
};
};
//--== file3.hpp ==--
namespace n2 {
class x2 {
private:
n1::x1* data1_;
public:
void func(x1* data2) { data1_ = data2; }
};
};
これのコンパイルは失敗します
error C2440: '=' : cannot convert from `'n2::x1 *' to 'n1::x1 *'`
n2:x1 は n1::x1 を継承しているため、何が問題なのか理解できません...? ありがとうございました