,我發現了錯誤:C++動態構造
no operator "[]" matches these operands
對於行:
cout << A[j].display(n)
但是,當我拿出[j]
,我得到的錯誤:
class "list" has no member "display"
這是我的代碼:
class list
{
protected:
int *p; // pointer to a list
int size; // dimension
public:
list(int x)
{
size = x;
p = new int[size];
}
void get(int i, int val)
{
p[i] = val;
}
};
class dlist : public list
{
public:
int display(int i)
{
return p[i];
}
};
int main()
{
int n;
cout << "Enter elements in a row\n";
cin >> n;
list A(n);
int j, val;
for (j = 0; j < n; j++)
{
cin >> val;
A.get(j, val);
}
cout << "\n";
cout << "List of elements are :\n";
cout << "----------------------\n";
for (j = 0; j < n; j++)
cout << A[j].display(j) << "\t";
cout << "\n";
return 0;
}
請幫忙!
'A'不是數組,也沒有重載'[]'運算符。並且,請格式化您的代碼。 –
此外,'A'是一個'list'對象,而不是'dlist'對象,所以它沒有'display'成員。 –