当我尝试使用“ this”指针时出现预期的表达式错误

时间:2019-05-16 09:30:30

标签: c++

我正在尝试制作回合制格斗游戏,其中有一个角色类和一个移动类。

当我开发字符类部件时出现错误,其中有一个函数TakeTurn(character oppoCharacter,cmove selectedMove,field currentField)。意思是让角色对象对对手角色进行移动。此功能由move类中的两个其他功能组成。首先是拼写此举,而另一个是发起此举。

我已尽一切努力,但仍然无法正常工作。我猜问题出在“ this”指针上,但是我不确定。

在character.cpp文件中:

void character::TakeTurn(character oppoCharacter, cmove chosenMove,field currentField){
    chosenMove.SpellMove(this*, oppoCharacter, currentField.FStatusL);
    chosenMove.LaunchMove(this*, oppoCharacter, currentField.FStatusL);
}

在character.h文件中:

void TakeTurn(character oppoCharacter, cmove chosenMove,field currentField);

错误消息:

[ 10%] Building CXX object CMakeFiles/gods.dir/character.cpp.o
/Users/otbooster/Downloads/2019up/cpp/gods/character.cpp:35:31: error: expected expression
        chosenMove.SpellMove(this*, oppoCharacter, currentField.FStatusL);
                              ^
    /Users/otbooster/Downloads/2019up/cpp/gods/character.cpp:36:32: error: expected expression
            chosenMove.LaunchMove(this*, oppoCharacter, currentField.FStatusL);
                                   ^
        2 errors generated.
        make[3]: *** [CMakeFiles/gods.dir/character.cpp.o] Error 1
        make[2]: *** [CMakeFiles/gods.dir/all] Error 2
        make[1]: *** [CMakeFiles/gods.dir/rule] Error 2
        make: *** [gods] Error 2

1 个答案:

答案 0 :(得分:0)

我认为您想获得this的参考,在这种情况下,请使用:

chosenMove.LaunchMove(*this...