内部リンケージを持つものを継承しているのが問題なようですが、
私には何が問題なのかいまいち理解できません。
この警告の必要性とその解決法について教えていただけないでしょうか?
// hoge.h
class Hoge
{
public:
// ...
private:
// ...
class Impl;
};
// hoge.cpp
class Hoge::Impl
{
public:
struct InnerA;
struct InnerB;
struct InnerC;
// ...
};
namespace {
class ImplBase
{
// ...
};
} // end namespace
struct Hoge::Impl::InnerA : public ImplBase// <--エラー
{
public:
static void func(Hoge& hoge)
{
// hogeのprivateにアクセス
}
};