我正在使用SFML,我想返回我确定为类的东西。因此,我想获取有效载荷并将其返回。当payload是类时,我该怎么做?

sf::Packet payload;


我该如何退货?

/**
* Gets the payload.
*/
int LoginPacket::getPayload() {
    return payload;
}


我尝试的每种方式都会出错。我必须使用指针吗?仅仅是因为有效载荷被识别为类,并且编译器告诉我无法将其转换为int吗?那么我如何转换它或怎么办呢?

最佳答案

您要函数返回什么?如果您希望它返回一个int,则此int是什么意思?您要检索的数据包中的字段吗?如果要返回整个数据包,则可以执行此操作。

sf::Packet& LoginPacket::getPayload()
{
    return payload;
}


该函数的调用者可以根据需要编辑有效负载或对其进行复制。您可以通过添加const使其变为只读

const sf::Packet& LoginPacket::getPayload() const
{
    return payload;
}

关于c++ - 如何用C++返回函数中的类?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18522626/

10-11 16:25