我在函数返回语句中收到错误。如果函数声明是,我很难理解我将返回什么:
const vector<Message*>& getMessages(string messageBox) const;
我有类 Message、Box 和 MessageBox:
class Box
{
public:
vector <Message> *messages;
string name;
public:
Box();
~Box();
};
class MessageBox
{
public:
MessageBox();
~MessageBox();
const vector<Message>& getMessages(string messageBox) const;
private:
Box *inbox;
};
现在我正在尝试实现函数getMessages。我尝试返回 Box *inbox 的向量 *messages。看起来像:
const vector<Message>& MessageBox::getMessages(string messageBox) const
{
if(messageBox == "inbox")
return (const_cast <vector<Message>&>(inbox->messages));
}
这给了我前面提到的错误。也许,我应该改变我的变量。
有任何想法吗?谢谢你。