【发布时间】:2016-02-22 23:03:57
【问题描述】:
我创建了一个名为 CardDeck (c++) 的类,它有 vector<card*> deck 私有成员。
我像这样将 operator[] 重载到这个类:
Card* CardDeck::operator[](int i) const{
return this->deck[i];}
您可以看到它返回 Card* 而不是 Card* &。但是,当我尝试放置 Card*& 时,它没有编译,但根据我的理解,vector[i] 返回第 i 个元素 reference - 就像写成 here。
那么为什么它会像这样编译而不是使用 Card* & 呢?
【问题讨论】:
-
编译器给你什么错误信息?