1. ホーム
  2. c++

[解決済み] C++のエラーC3867

2022-02-05 15:53:50

質問

私のコードは、数時間後にプログラムを再読み込みするまで、問題なく動作していました。今、このようなエラーが発生しました。

エラー C3867: player::getxPos': function call missing argument list; use '&player::getxPos' to create a pointer to a member.

エラー C3867: player::getyPos': function call missing argument list; use '&player::getyPos' to create pointer to a member.

これが問題のコードです。

if (P->shoot())
{
    shotVector.push_back(shot());
    eS = shotVector.size();
    shotVector[eS-1].initShot(
        P->getxPos, // C3867
        P->getyPos // C3867
    );
}

playerというクラスから2つの関数を呼び出そうとしているのですが、この2つの関数は以下のような感じです。

int player::getxPos(){
    return xPos;
};

int player::getyPos(){
    return yPos;
};

何が行われているかというと、プレイヤーの位置を聞いて、それをもとにシュートする場所を決めようとしているのです。

どのように解決するのですか?

shotVector[eS-1].initShot(P->getxPos, P->getyPos); - を呼び出そうとしているのですね。 getxPos()getyPos() のないメンバーは () .

使用方法 getxPos()getyPos() .