0

以下に示すように、3つのクラスがあり、それらはすべて異なる名前空間からのものです。

classA.h

namespace outer
{
    namespace inner
    {
        class ClassA
        {
           ....
        };
    }
}

classB.h

namespace inner
{
    class ClassB
    {
        ...
    };
}

classC.h

#include <classB.h>

namespace outer
{
    namespace inner2
    {
        using inner::ClassB; // error here, says outer::inner2::ClassB has not been declared.

        class ClassC
        {
            ....
        };
     }
}

私はこれで立ち往生していますこの問題を解決するために私を助けてください。

4

1 に答える 1

9

あなたが必要です

using ::inner::ClassB;

namespace outer、には2つのオプションがありますinner

  • ::inner-グローバル名前空間
  • ::outer::inner-outer名前空間

デフォルトでは、からusing inner::ClassB;インポートしようとします。ClassBouter::inner

于 2012-06-27T13:48:09.493 に答える