У меня проблемы с доступом к функциям-членам классов, хранящихся в STL list
. Мой код ниже:
typedef Shape* shapePtr;
list <shapePtr> shapeList;
//skip alot...
case x:
{
cout << "Enter the height \n";
cin >> height;
cout << "Enter the base \n";
cin >> base;
//computation.
shapeList.push_back(new Triangle);
shapeList->setHeight(height);
shapeList->setBase(base);
break;
}
Это привело к следующей ошибке с g ++:
операнд ‘->’ имеет тип без указателя
ошибка: нет совпадения для оператора * в форме * shapeList
case x:
{
cout << "Enter the height \n";
cin >> height;
cout << "Enter the base \n";
cin >> base;
//computation.
shapeList.push_back(new Triangle);
(*shapeList).setHeight(height);
(*shapeList).setBase(base);
break;
}
В результате возникла следующая ошибка:
ошибка: нет совпадения с оператором * в "shapeList"