2

ここで何が間違っているのか知りたい:

class Grasp
{
    typedef struct
    {
        int unique;
        int intersection;
        int sets;
        float alpha;
        int *covered;
        int *choosen;
    }best;
    static best findSolution();
}

.cpp の場合:

best Grasp::findSolution()
{
    //it doesn't matter
}

その行にエラーがあります: best Grasp::findSolution()

' best ' は型に名前を付けません

なんで?

4

2 に答える 2

8

bestのメンバーであるため、ネストされた型です。したがって、戻り値の型を次のように修飾する必要があります。Grasp

Grasp::best Grasp::findSolution()
{
     //your code
}

戻り値の型に注意してください。:-)

于 2013-07-15T18:20:31.780 に答える
0

bestに含まれる typedef ですGrasp。グローバルでない限り、コンパイラはそれがそのクラスに属していることを知る方法がありません。Grasp::best代わりに使用してください:

Grasp::best Grasp::findSolution()
{
    // ..
}
于 2013-07-15T18:21:07.117 に答える