我收到这个错误

错误C2440:'=':无法从'const BWAPI::UnitType *'转换为'BWAPI::Type *'

在这条线

this->generalType = &type;

问题是什么?由于UnitType扩展类型不应该被允许?
class CombatEvent {

public:

    CombatEvent& setType(CombatEventType type);
    Type* getGeneralType() const;

private:
    UnitType unitType;
    Type* generalType;
}

// implementation

CombatEvent& CombatEvent::setUnitType(const UnitType type) {

    this->generalType = &type;
    this->unitType = type;

    return *this;
 }

最佳答案

删除const。这应该工作。但是,您正在传递值。您可以改为通过const UnitType&传递。这样可以提高性能。或者,当然,如果您通过引用传递,也请删除违规行中的address-of运算符。

关于c++ - 错误C2440 : '=' : cannot convert from 'const BWAPI::UnitType *' to 'BWAPI::Type *' ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12068779/

10-11 05:18