我有一個類中的功能與const
關鍵字:const函數,但我可以「修改」類
bool Machiavelli::IsStraight(std::vector<Card>& cards) const{}
馬基雅維利類有內部的其他類,如卡和表:
class Table{
private:
std::map<int, std::vector<Card> > table;
....
};
該函數中的vector
是一個向量table
。功能檢查卡片是否直線組裝。
現在,在功能更改卡功能的數據的價值:
cards[i].SetIntValue(14);
其中SetIntValue
在卡類的功能。
讀了一些問題,我讀:一個函數聲明意味着
該功能是不允許更改任何類成員(除非被標記爲可變的)。
const
後
函數不知道參數是在Machiavelli中,所以我可以更改一個類成員:table
。我的推理失敗了嗎?
你可以請嘗試創建一個[最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)並向我們展示? –