2
我有一個簡單數組包裝類,它是這樣評價的標操作:在監視窗口
class MyArray
{
int * m_Data;
int m_Size;
public:
MyArray(int aSize) : m_Size(aSize), m_Data(new int[aSize])
{
}
int & operator [](int aIndex)
{
return m_Data[aIndex];
}
const int & operator [](int aIndex) const
{
return m_Data[aIndex];
}
};
MyArray a(10);
每當我試圖評估在調試器下標運算符(快速監視,立即窗口等) :例如a[0]
,我得到a[0] no operator "[]" matches these operands
錯誤。我知道我可以通過類字段來挖掘數組的內容。但是,只需複製一部分代碼行並在觀察窗口中對其進行評估就容易多了。 我試着刪除const和非const []運算符。我也嘗試使用()運算符,它也不工作,但它給出了不同的錯誤信息。我在VS2012和VS2013 Preview中試過這個:同樣的事情。 有什麼辦法解決這個問題嗎?
如果我有一個成員函數替換下標操作:
int & Item(int aIndex)
{
return m_Data[aIndex];
}
然後觀察窗能告訴我結果。但我更喜歡使用下標運算符。