2

このコードを C++ CLI で使用しています。ただし、これは C++ と何の違いもありません。
そのエラーを取り除くための解決策を探しています。

コード :

ref class B;
ref class A;

public ref class A
{
public:
    A() {}
    B^ b;
    void HelloFromA(){
        b->HelloFromB();
    }
};

public ref class B
{
public :
    A^ a;
    B() {}
    void HelloFromB(){
        a->HelloFromA();
    }
};
4

1 に答える 1

7

前方宣言されたクラスのメンバー関数を呼び出す関数の本体を、ヘッダーの外側で、定義が使用可能な場所に移動する必要があります。

void A::HelloFromA(){
    b->HelloFromB();
}

それ以外の場合、コンパイラは が利用可能であることを認識しますが、 が引数を取らないメンバー関数を持っているBことを認識しません。BHelloFromB

于 2013-03-15T10:27:07.423 に答える