特定のクラスから関数の呼び出し元を強制しようとしています。たとえば、次のコードは私の問題を示しています。「use」関数がクラス A からのみ呼び出されるようにしたい。プロジェクト全体でグローバル名前空間を使用しています。
ああ
#include "b.h"
namespace GLOBAL{
class A{
public:
void doSomething(B);
}
}
a.cpp
#include "a.h"
using namespace GLOBAL;
void A::doSomething(B b){
b.use();
}
bh
namespace GLOBAL{
class B{
public:
friend void GLOBAL::A::doSomething(B);
private:
void use();
}
コンパイラは次のように述べています。
‘GLOBAL::A’ has not been declared
‘void GLOBAL::B::use()’ is private
誰でもここで助けることができますか?
どうもありがとう、
マイク。