0

inorder traversal を使用して構築したバイナリ ツリーを出力しようとしていますが、値を再帰関数に渡す方法を定義するのに問題があります。ここに私が得ているエラーがあります:

1>methods.obj : エラー LNK2001: 未解決の外部シンボル "public: void __thiscall morsecode::in_order(struct letter *)" (?in_order@morsecode@@QAEXPAUletter@@@Z)

これが私のヘッダーファイルからの私のツリーです:

struct letter
{
    string let;
    string morse;
    letter *left;
    letter *right;
};

ソースファイルからのメソッド:

void in_order(struct letter *P)
    {
        if(P==NULL) return;
        in_order(P->left);
        cout<<"letter: "<<P->let<<endl;
        in_order(P->right);
    }

ここで重要な何かが欠けていますか?

4

1 に答える 1

1

おそらくあなたが必要です:

void morsecode::in_order(struct letter *P) {
     if(P==NULL) return;
     in_order(P->left);
     cout<<"letter: "<<P->let<<endl;
     in_order(P->right);
}

morsecodeクラスのメンバーになる。

于 2012-12-12T06:05:26.263 に答える